我在UITableViewController
中设置了viewDidAppear
的框架,如下所示:
self.view.frame = CGRectMake(0.0, 0.0, 320.0, 468.0);
原始帧高为516.0
。
这最初工作正常,框架确实发生了变化。但是,当我回到那个视图控制器(它在UINavigationController
中)时,框架不会改变(在516.0
处说,即使在返回时确实调用了该行。
第二次显示控制器时导致帧不变的原因是什么?如何纠正?
答案 0 :(得分:0)
当您在导航控制器的堆栈上打开/关闭视图控制器时,不会调用通常的viewWillAppear / viewDidAppear方法。如果您想确保始终调用它们,只需将UINavigationControllerDelegate协议添加到根视图控制器:
答案 1 :(得分:0)
由于自动布局而发生。取消在xib或storyboard中的autolayout复选框。然后它会工作。