2017-02-10 10 views
2

Я хочу использовать UIPageViewController с кнопкой буксировки (next and preve) для отображения 7 View Controller с различным контентом, это моя доска объявлений после реализации только UIPageViewController.UIPageViewController с различными диспетчерами ViewControllers

Мой вопрос в том, как я могу поместить эти контроллеры представлений в UIPageViewController?

page.xib

ответ

2

Ответ в Swift:

Вызвать метод setViewControllers определить свой первый VC, направление и т.д., как это в вашем viewDidLoad вашего экземпляра UIPageVC:

override func viewDidLoad() { 
    super.viewDidLoad() 
    dataSource = self 
    let vc = storyboard!.instantiateViewController(withIdentifier: "whatever storyboard id your first VC is") 
    setViewControllers([vc], 
         direction: .forward, 
         animated: false, 
         completion: nil) 
} 

Используйте методы протокола UIPageViewControllerDataSource, чтобы определить, какие страницы появляются до и после текущего контроллера viewController, а также счетчик и индекс контроллера.

func pageViewController(_ pageViewController: UIPageViewController, 
         viewControllerBefore viewController: UIViewController) -> UIViewController? 
{ 
    // Return some VC based on what the current viewController param is. 
} 

func pageViewController(_ pageViewController: UIPageViewController, 
         viewControllerAfter viewController: UIViewController) -> UIViewController? 
{ 
    // Return some VC based on what the current viewController param is. 
} 

func presentationCount(for pageViewController: UIPageViewController) -> Int { 
    return 7 
} 

func presentationIndex(for pageViewController: UIPageViewController) -> Int { 
    return viewControllers!.index(of: viewControllers!.first!)! 
}