我只想降低 NavigaitonBar 的高度。
我将以下代码放入 ViewDidLoad 然后我运行了这个项目。高度在一瞬间发生了变化,但很快又恢复到了默认高度。
CGRect navRect = self.navigationController.navigationBar.frame;
navRect.size.height = 30;
self.navigationController.navigationBar.frame = navRect;
我试图把这些代码放在 将出现 ,同样的问题又发生了!
但在 viewDidAppear ,它工作正常,高度改变了。
我总是在 viewDidLoad 中添加一些 barButtonItem。说明在viewDidLoad中已经成功初始化了NavigationController,但是为什么不能改变高度呢?
这让我困惑了很长时间。
谢谢!
最佳答案
由于添加了自动布局, View 的生命周期也发生了变化。
View 中 subview 的所有几何修改都应在 viewDidLayoutSubviews
中完成方法。
从该方法的名称可以看出,这意味着在调用该方法的那一刻,所有 subview 都已正确放置。
关于ios - 在 'viewDidAppear' 和 'viewDidLoad' 改变 NavigationBar 的高度,为什么不一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31851670/