2016-10-01 61 views
1

我有一个视图容器包含UIPageViewController。对他来说,它们与UIImageView的2 viewController相关联。它几乎适用于所有方面我无法更改动画来滚动图像。动画总是那个页面卷曲,而我想要一个简单的卷轴。怎么做?转换页面与uipageviewcontroller

class MyPageViewController: UIPageViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate { 

var pages = [UIViewController]() 

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.delegate = self 
    self.dataSource = self 

    let page1: UIViewController! = storyboard?.instantiateViewController(withIdentifier: "page1") 
    let page2: UIViewController! = storyboard?.instantiateViewController(withIdentifier: "page2") 

    pages.append(page1) 
    pages.append(page2) 

    setViewControllers([page1], direction: UIPageViewControllerNavigationDirection.forward, animated: false, completion: nil) 

} 

func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? { 
    let currentIndex = pages.index(of: viewController)! 
    let previousIndex = abs((currentIndex - 1) % pages.count) 
    return pages[previousIndex] 

} 

func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? { 
    let currentIndex = pages.index(of: viewController)! 
    let nextIndex = abs((currentIndex + 1) % pages.count) 
    return pages[nextIndex] 
} 

private func presentationCountForPageViewController(pageViewController: UIPageViewController) -> Int { 
    return pages.count 
} 

private func presentationIndexForPageViewController(pageViewController: UIPageViewController) -> Int { 
    return 0 
} 

}

Storyboard

回答

1

你是如何启动UIPageViewController

从代码,你可以指定在构造函数transitionStyle,如图here

从故事板,您可以指定在故事板本身相同transitionStyle,如本SO answer