UINavigationController pop重置root viewcontroller的框架

时间:2014-07-10 06:20:18

标签: ios objective-c uinavigationcontroller autolayout

Interface Builder设置为使用autolayout,但没有为我的根视图控制器设置约束。我有一个按钮,可以在根视图控制器中移动视图。当我将新的viewcontroller推入堆栈并随后弹出它时,根视图控制器上的视图帧将重置为其开始位置。

关于为什么会发生这种情况的任何理论?

1 个答案:

答案 0 :(得分:2)

使用“自动布局”时,视图的帧由您设置的约束决定。如果您不修改约束,而是手动更改您的观看次数'帧,然后下次你的视图布局时,他们的帧将再次由他们设置的约束决定(有一次这发生在你的视图控制器的视图出现在屏幕上之前,这就是你&# 39;重看)。

如果您希望在布局发生后保留这些帧更改,则应修改约束(通过更改其constant值或将其替换为全新值)而不是视图'帧。