AutoLayout 奇怪的行为 iOS
AutoLayout weird behaviour iOS
当我推到 UIViewControllerB
然后弹回 UIViewControllerA
时,UIViewControllerA
的整个视图高出大约 20 像素,然后它应该会在一瞬间(我猜之后viewDidAppear
) 它移动到它的正常位置。在此期间,我不会以任何方式操纵约束或 UINavigationBar
设置。我确实拥有 UIViewControllerA
top space 到顶部布局指南的所有元素。这可能是什么原因造成的?我用过一些故事板,但从未遇到过这样的事情。
尝试在 viewDidLoad
或 viewDidAppear
中添加 view.layoutIfNeeded()
。
最近的 XCode 添加了一些新行为。尝试设置 UIViewControllerA
的约束,使顶部与 UINavigationBar
.
的底部齐平
这是由于删除子视图引起的,我在加载数据时添加到封面:删除此子视图后,限制更改的位置(这只发生在这个 UIViewController
,其他 UIViewControllers
这个子视图很好)。我已经通过这样做修复了它:
self.stopLoading() //removes subview
self.view.layoutIfNeeded()
当我推到 UIViewControllerB
然后弹回 UIViewControllerA
时,UIViewControllerA
的整个视图高出大约 20 像素,然后它应该会在一瞬间(我猜之后viewDidAppear
) 它移动到它的正常位置。在此期间,我不会以任何方式操纵约束或 UINavigationBar
设置。我确实拥有 UIViewControllerA
top space 到顶部布局指南的所有元素。这可能是什么原因造成的?我用过一些故事板,但从未遇到过这样的事情。
尝试在 viewDidLoad
或 viewDidAppear
中添加 view.layoutIfNeeded()
。
最近的 XCode 添加了一些新行为。尝试设置 UIViewControllerA
的约束,使顶部与 UINavigationBar
.
这是由于删除子视图引起的,我在加载数据时添加到封面:删除此子视图后,限制更改的位置(这只发生在这个 UIViewController
,其他 UIViewControllers
这个子视图很好)。我已经通过这样做修复了它:
self.stopLoading() //removes subview
self.view.layoutIfNeeded()