【发布时间】:2015-08-06 09:17:13
【问题描述】:
我只是想降低 NavigaitonBar 的高度。
我将以下代码放入 ViewDidLoad 中,然后运行该项目。高度瞬间改变,但很快又恢复到默认高度。
CGRect navRect = self.navigationController.navigationBar.frame;
navRect.size.height = 30;
self.navigationController.navigationBar.frame = navRect;
我尝试将这些代码放在 viewWillAppear 中,同样的问题又发生了!
但是在viewDidAppear中,它工作正常,高度被改变了。
我总是在 viewDidLoad 中添加一些 barButtonItem。说明在viewDidLoad中已经成功初始化了NavigationController,但是为什么不能改变高度呢?
这让我困惑了很长时间。
谢谢!
【问题讨论】:
-
将代码粘贴到 -viewDidLayoutSubview
-
@RoNiT 我这里没有代码。以及上面我给出的几乎所有代码。
-
我的意思是,在 -viewDidLayoutSubviews 中更改
heightConstraint -
@RoNiT 启动顺序是 'viewDidLoad' -> 'viewDidLayoutSubviews' -> 'viewWillAppear' -> 'viewDidAppear',我想知道为什么改变高度的代码只在viewDidAppear有效?
标签: ios objective-c uinavigationbar viewdidload viewdidappear