AutoLayout奇怪的行为iOS

时间:2016-12-27 22:13:58

标签: ios swift autolayout margins

当我推到UIViewControllerB,然后回到UIViewControllerAUIViewControllerA的整个视图大约高出20 px,那么它应该是片刻(我想在{{1}之后} 1}})它移动到正常位置。在此期间,我不会以任何方式操纵约束或viewDidAppear设置。我确实拥有UINavigationBar顶部空间到顶部布局指南的所有元素。什么可能导致这个?我曾经和一些故事板合作过,从未遇到过这样的事情。

3 个答案:

答案 0 :(得分:0)

尝试在view.layoutIfNeeded()viewDidLoad中添加viewDidAppear

答案 1 :(得分:0)

最新的XCode添加了一些新的行为。尝试设置UIViewControllerA的约束,使顶部的约束与UINavigationBar的底部齐平。

答案 2 :(得分:0)

这是以某种方式导致删除子视图,我在加载数据时添加到封面屏幕:删除此子视图后,约束更改的位置(这只发生在此UIViewController上,其他UIViewControllers子视图很好)。我通过这样做来修复它:

self.stopLoading() //removes subview
self.view.layoutIfNeeded()