我有一个UIViewController(使用Swift)pageviewcontroller导航控制器内部导致布局问题
这只是一个简单的项目列表。它被实现为一个UIViewController,我已经添加了一个UITableView。这个'Items'视图是通过我的幻灯片菜单实现中的代码调用的,并且滑动菜单的初始视图嵌入到NavigationController中 - 因此幻灯片菜单中的所有视图都将显示在导航控制器上。项目是调用这样
self.openViewControllerBasedOnIdentifier("Items")
这工作得很好,我得到这些幻灯片菜单视图之一....
我然后在右上角的添加按钮,你可以推动添加新的项目。添加按钮调出一个PageViewController。我使用页面视图,因为有多个页面的细节与正在添加的项目相关联。这也适用于我得到的pageviewcontroller启动,我可以翻页。
问题是页面上元素的位置在某些情况下(它不一致)转移。
当我最初显示PageViewController的第一页时,我看到了我设计的布局(在左下方)。如果我只是从文本字段中退出,或者如果我滑动到第2页,然后滑回第1页,则会看到正确的图像。整个视图跳起来!
我尝试翻转故事板中的所有不同设置。我甚至将大部分绘图移动到代码中并从故事板中移出以便手动设置约束。这些是我玩过的设置。尝试了很多组合,但他们现在大部分都关闭了。
这里是之前和之后。我该如何阻止视图跳跃和跳跃。另外,有趣的是,如果我从页面3滑动到页面2,则页面2向上移动。如果我继续返回到第1页,然后再滑回到第2页,则第2页返回到正确的位置。所以深入我输入page-2的方式是不同的布局。从1到2,第2页是正确的。从3到2,第2页向上移动。
我不能让布局停留在一个地方。
另一种选择是在页面视图控制器中关闭NavigationController并在没有它的情况下处理。
所以......
1)我怎么能停止跳跃 - 最好的情况下
2)我怎么能关闭导航控制器时pageviewcontroller达 - 第二个选项
我的pageviewcontroller的页面通过此代码调用
instantiateViewController(withIdentifier: "itemDetail\(num)ViewController")
其中'num'是1,2或3.使用索引数组和viewControllerBefore以及viewControllerAfter方法。分页本身工作正常。
谢谢