UIPageViewController - 视图最初不在正确的位置

时间:2015-08-28 12:55:51

标签: ios swift autolayout uipageviewcontroller ios-autolayout

我正在使用UIPageViewController来创建应用的简介页面。

作为gif(我刷到第二个视图并刷回第一个视图):

enter image description here

我的第二页视图最初位置不正确。它比它应该高,然后下降。但是,如果我向后滑动,第一页的视图是正确的。

我猜是因为UIPageViewController没有足够早地加载我的第二个视图,所以当第二个视图已经出现时,自动布局系统仍在计算位置。当我刷回第一个视图时,由于视图已经加载,所以没有这样的问题。(这只是我的猜测,我不确定。)

我发现我可以使用2ndViewController.loadView()作为解决方法,但Apple的文档不鼓励程序员直接调用此方法。我还发现直接调用这种方法是错误的。

如何正确防止这种情况?

2 个答案:

答案 0 :(得分:0)

如果您要设置约束,请从Superview修复视图的顶部空间。

答案 1 :(得分:0)

在func创建索引视图时,试试我的代码

func pageTutorialAtIndex(index: Int) ->TestNodeController
{
    let pageContentViewController = self.storyboard?.instantiateViewControllerWithIdentifier("TestNodeController") as! TestNodeController
    pageContentViewController.automaticallyAdjustsScrollViewInsets = false
    pageContentViewController.pageIndex = index
    return pageContentViewController

}