Ios UIPageViewController视图控制器始终返回单个控制器
我在一个Ios UIPageViewController视图控制器始终返回单个控制器,ios,swift,uipageviewcontroller,Ios,Swift,Uipageviewcontroller,我在一个UIPageViewController中有两个视图控制器。我需要让UIPageViewController中的所有视图控制器调用其中的方法,但它总是只返回一个页面(第一页或第二页) 为方便起见,代码如下: if let viewControllers: [UIViewController] = self.viewControllers { print(viewControllers) for controller in viewControllers {
UIPageViewController
中有两个视图控制器。我需要让UIPageViewController
中的所有视图控制器调用其中的方法,但它总是只返回一个页面(第一页或第二页)
为方便起见,代码如下:
if let viewControllers: [UIViewController] = self.viewControllers {
print(viewControllers)
for controller in viewControllers {
if let firstController: FirstViewController = controller as? FirstViewController {
//Call something
}
if let secondController: SecondViewController = controller as? SecondViewController {
//Call something
}
}
}
实际上,它只返回页面控制器内部的可见视图控制器。这是预期的行为 在简单的
UIPageViewController
中,此数组将仅返回当前可见的视图控制器,该视图控制器通常仅为一个视图控制器
请记住,
UIPageViewController
会像UITableViewController
一样大量缓存和重用控制器。您可能希望以另一种方式反映更改。“UIPageViewController中有两个视图控制器”不,您没有<代码>打印(self.viewControllers.count)将揭示事情的真相。你把它切掉了,愚蠢的我;如果一次可以看到多个控制器,它将显示多个控制器。