swift - UIPageViewController多次加载ChildViews

标签 swift

我已经对 UIPageViewController 进行了子类化,并且它工作正常。除了来回加载页面的新实例这一事实之外,而不是(如我所期望的那样)检索之前加载的实例。 引用不是应该很强吗?

以下是我的代码。

感谢您的帮助。

皮里克

class CustomPageViewController: UIPageViewController, UIPageViewControllerDataSource {

var view1: FirstCustomViewController!
var view2: SecondCustomViewController!
var view3: ThirdCustomViewController!
var views = []

override func viewDidLoad() {
    super.viewDidLoad()

    self.dataSource = self;

    self.view1 = FirstViewController()
    self.view2 = SecondViewController()
    self.view3 = ThirdViewController()

    self.views = [self.view1, self.view2, self.view3]
    self.setViewControllers([self.view1], direction: UIPageViewControllerNavigationDirection.Forward, animated: true, completion: nil)
}

// MARK: - PageViewControllerDataSource

func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {

    let index = self.views.indexOfObject(viewController)

    if (index > 0) {
        return self.views.objectAtIndex(index-1) as? UIViewController
    }

    return nil
}

func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {

    let index = self.views.indexOfObject(viewController)

    if (index < self.views.count-1) {
        return self.views.objectAtIndex(index+1) as? UIViewController
    }

    return nil
}
}

最佳答案

似乎有问题的函数在 FirstViewController、SecondViewController、ThirdViewController 中。当我写下我的问题时, View Controller 按照“viewWillAppear”方法加载 View 。 当我将代码移至“viewDidLoad”时, View 多次停止加载。

关于swift - UIPageViewController多次加载ChildViews,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32746407/

相关文章:

ios - 如何在 Swift 中让按钮随背景滚动?

swift - FireStore如何做ClientSideJoin

ios - 如何在 iOS Swift 中显示来自新 Firebase 的个人资料图片?

ios - 如何在 Swift 3 中强制打开后置摄像头闪光灯?

ios - 位置坐标在 swift 中返回 nil

ios - Skaction.playsoundfilenamed 在重复时崩溃 - sprite kit

swift - UILabel 看起来有阴影像素化

ios - 毫无意义的 Xcode/Swift 错误 : Unknown type 'CGFLoat' . 你是说 'CGFloat"吗?

ios - 使用按钮移动到包含数据的 TabBar 项目

swift - 为什么我不能获得 UICollectionView 的 header ?