2016-10-01 80 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