【发布时间】:2014-06-03 00:24:42
【问题描述】:
我遇到了一个非常令人沮丧的问题,我正在通过自动布局约束以编程方式调整我的根视图控制器中容器视图的高度,但是其层次结构中的一个视图没有正确更新其大小,我可以' t弄清楚什么是坏的。当我旋转设备或执行导航时,一切都重新正确布局,因此似乎自动布局代码中可能存在错误。
层次结构有些复杂,但它是这样工作的:
根视图控制器 -> 容器视图 -> 导航控制器 -> 菜单视图控制器
是 MenuViewController 没有正确更新其大小。调整约束后,容器视图和导航控制器都具有正确的高度。我无法弄清楚为什么导航控制器没有将布局更改传递给其子级,直到发生其他一些事件(旋转/导航)迫使它重新计算其布局。
我已经尝试了所有我能想到的强制视图更新其布局的方法(包括 setNeedsUpdateConstraints、setNeedsLayout 和 layoutIfNeeded),但我尝试的任何方法似乎都没有任何效果!
【问题讨论】:
标签: ios objective-c cocoa-touch autolayout