책 넘기는 기능
궁금했었는데
알아보자
UIPageViewController
UIPageController은 User가 보는 페이지가 몇번째 페이지인지 알 수 있게 해주는 기능이다
Storyboard에 pageViewController 한개와 viewController 3개를 설정해주자
우리는 PageViewControllerList라는 배열에 설정해 둔 ViewController 3개를 담고
pageViewController에 첫번째 부분을 설정해 준다
왜 viewDidLoad에서 createPageViewController 호출 후에 configurePageViewController을 호출해야 할까?
-> 첫번째 부분을 configurePageViewController에서 명시해주는데 페이지를 만들어지지 않은 상태에서 명시는 불가능
호출 순서가 중요하다
UIPageViewControllerDelegate, Datasource 프로토콜을 받으면
ViewControllerBefore, ViewControllerAfter라는 함수가 규약적으로 생성되는 것을 볼 수 있다
두개의 pageViewController method는 아까 생성한 viewController의 Index를 통해 before, after의 Index를 계산한다
before, after의 값이 존재한다면 값을 반환하고 없으면 Nil로 반환한다
before, after를 설정 한 후 전체 페이지 수를 설정해준다
presentaionIndex는 시작할 페이지의 index를 설정해준다
App을 보다 보면 저번에 만들었던 배너부분도 아래에 페이지 표시가 있어서 배너도 혹시 PageViewController로 만들 수 있지 않을까?라는 생각을 할 수 있다
그렇다
ViewController를 하나 만든 후 ContainerView를 만들어 준다
ContainerView에 아까 만든 PageViewController를 드래그 해준다
이때 꼭 Embed를 해주어야 한다
그 후에 ViewController에 PageView가 User에게 보여지고 싶은 부분을 UIView로 설정해주면
View안에 PageView가 보이는 형태가 된다
(마치 배너 뷰처럼 작동되는 것이다)
PageViewController를 활용해서 Intro화면을 만들어 보았다
'Tech > iOS' 카테고리의 다른 글
[iOS]Day45 - TypeCasting (0) | 2022.08.18 |
---|---|
[iOS] Day44 - Storyboard 없이 코드로 UI 설정해보기(Feat. Snapkit) (0) | 2022.08.17 |
[iOS]Day43 - Custom FrameWork (0) | 2022.08.16 |
[iOS]Day43 - Access Control (0) | 2022.08.16 |
[iOS]Day39 - Authorization - Camera (0) | 2022.08.12 |