所以我的问题是与自动布局和底部布局指南有关.
这是应用程序的设计:
UITabBarController
^– Tab1: NavigationController with VC1 as root
^– VC2 is pushed and hides the tab bar (full screen,top layout is situated under the nav bar,bottom layout should be the lowest pixel).
当VC2被按下时,底部布局指南在少量时间内为49点,然后为0.
在这段时间里,限制在本底部指南中的子视图位置不正确.
当指南然后正确设置为0(由导航控制器本身没有关于我的代码),子视图的位置是完美的.
这不会发生在iOS 7.x(应用程序支持7.0)…我很确定这是一个iOS 8的错误,我正在寻找解决方法,但我找不到修复这个的东西.
我试图解决强制导航控制器的视图布局(Will / Did)LayoutSubviews的问题,但没有帮助.
我看到this post是相关的,但建议的解决方案不起作用.
提出VC2模式解决了这个问题,但这是不能接受的.> Here’s a video showing the issue
>而且我创建了一个包含这个bug的small project here.提前感谢您的帮助,如果您需要更多解释,请告诉我们
解决方法
我和UIPageViewController有类似的问题.经过一些初步研究,它似乎是一个错误.我设法解决这个问题的唯一方法是将子视图固定在超级视图中,而不是底层布局指南.
一旦将子视图固定在超级视图中,约束似乎得到尊重.
希望这可以帮助.