2016-12-10 14 views
0

私はUIPageViewControllerをUIViewに追加していますが、これを以下のようにすると正しいコントローラが追加されますがスクロールできません。uiviewにuipageviewcontrollerを追加するとスクロールできない

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    let pageController = storyboard.instantiateViewController(withIdentifier: "PageOverlayPageViewController") as! PageOverlayPageViewController 

    previewImageView.addSubview(pageController.view) 
    pageController.didMove(toParentViewController: self) 

答えて

0

正しいUIPageViewControllerDataSourceメソッドを実装しましたか? "viewControllerBefore"と "viewControllerAfter"が必要です。

https://developer.apple.com/reference/uikit/uipageviewcontrollerdatasource

データソースがテーブルビューのデータソースとコレクションビューのデータソースと同様に動作します:ここではリンゴのドキュメントへのリンクです。ページビューコントローラにスクロールさせるビューコントローラを保持する基になる配列を維持する必要があります。このコードで

func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? { 
    if let index = controllers.index(of: viewController), index > 0 { 
    return controllers[index - 1] 
    } 

    return nil 
} 

func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? { 
    if let index = controllers.index(of: viewController), index < controllers.endIndex - 1 { 
    return controllers[index + 1] 
    } 
    return nil 
} 

は、コントローラはUIViewControllers、助けのviewDidLoad()

ホープのように、初期化され、それ以前の時点で人口の配列です

+0

はい、私はそれが私が設定されている場合、正常に動作してい最初のビューコントローラとしてのpageviewcontrollerしかし、私は別のviewcontrollerにおろしていない場合 –

関連する問題