如何移动到 pageViewController 中的特定页面?

Posted

技术标签:

【中文标题】如何移动到 pageViewController 中的特定页面?【英文标题】:How to move to a specific page in a pageViewController? 【发布时间】:2015-09-26 23:03:46 【问题描述】:

我在用作主屏幕的ViewController 中使用嵌入ContainerpageViewController。 ViewController 有几个按钮可以打开其他 ViewController。

我正在寻找一种方法来更新pageViewController 当前页面,基于在不同 ViewController 中保存数据时设置的变量值。我设法获得了 Home ViewController 的价值,并且几乎能够在 viewDidLoad 上为 Home ViewController 使用此代码

if currentStatPage > 0 
    startVC = self.viewControllerAtIndex(currentStatPage) as ViewControllerDashboardCharts
    viewControllers = NSArray(object: startVC)
    self.pageViewController.setViewControllers(viewControllers as! [UIViewController], direction: .Forward, animated: true, completion: nil)
    var pageController = UIPageControl.appearance()
    pageController.currentPage = currentStatPage


问题是我选择了将显示第 3 页的按钮(发送值 2),pageViewController 中的页面出现故障(第 1 页到达第 2 页的位置)。

有没有办法预加载 6 个 ViewController(动态创建)并以编程方式移动到特定的?

任何帮助将不胜感激,谢谢。

【问题讨论】:

【参考方案1】:

问题是presentationIndexForPageViewController。我有一个返回0的代码,当将返回值更改为当前页面索引时,问题就消失了。

func presentationIndexForPageViewController(pageViewController: UIPageViewController) -> Int 
    return currentStatPage


【讨论】:

以上是关于如何移动到 pageViewController 中的特定页面?的主要内容,如果未能解决你的问题,请参考以下文章

更新 ViewController 不更新 PageViewController 点

滚动表格时如何禁用 PageViewController?

(Swift) 如何使用触摸按钮更改 pageviewcontroller 中的视图

为啥在 PageViewController 中会出现这种类型的滚动?

如何将参数从容器视图的父 ViewController 传递到该容器视图的 PageViewController?

你如何将数据从 ViewController 传递到包含单独 ViewController 的 PageViewController,然后这些 ViewController 将使用这些数据?