我试图找出一个问题,即在关闭使用 - 显示的 Controller 后,viewWillLayoutSubviews
(和 viewDidLayoutSubviews
)方法没有被调用
[self presentModalViewController:controller animated:YES];
并用
解雇[self dismissModalViewControllerAnimated:YES];.
作为在详细信息区域中按下按钮的结果,此 View Controller 显示在 UISplitViewController
之上。当我旋转设备时,没有模式向上,我确实得到了 viewWillLayoutSubviews
回调。但是,问题是,当我在模型展示期间旋转时,它不会正确更新 View 并在关闭 View 后重新计算 View 边界。根据 IOS 5 发行说明,我应该在关闭模态视图 Controller 后得到一个 viewDidLayoutSubviews
。
为了比较,我创建了一个基本的应用程序,其中没有我的其他代码,它按照文档中的说明工作,它将在模态消失后调用 viewWillLayoutSubviews
。
我一直在检查我的真实应用程序代码,但找不到任何错误。我正在寻找有助于解决此问题的建议。为什么回调在旋转时有效,但在模态消失时无效?可能是我的 View 层次结构有问题吗?
感谢您的帮助!
最佳答案
尝试使用委托(delegate)方法 viewWillAppear
而不是 viewWillLayoutSubviews
。 WillLayoutSubviews 仅在 View 的边界发生变化时调用(当您旋转设备时会发生这种情况)。
关于ios - 关闭全屏模式时,不会调用 viewWillLayoutSubviews 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10926543/