viewWillAppear 和 viewDidAppear 之间的操作?

Posted

技术标签:

【中文标题】viewWillAppear 和 viewDidAppear 之间的操作?【英文标题】:The operation between viewWillAppear and viewDidAppear? 【发布时间】:2016-06-15 10:58:19 【问题描述】:

我在 viewWillAppear 方法中更改了导航栏的高度 第一次,它可以工作并且条的高度没有改变。但是当我再次推动时,栏的高度变为 44

如果我在 viewWillAppearviewDidAppear 中更改栏的高度,它会起作用并且不会更改

那么,是不是系统在这两种方法之间做了什么动作?

【问题讨论】:

看看viewWillLayoutSubviews 参考此链接:***.com/questions/5630649/… 【参考方案1】:

如果你想改变导航栏的高度,你必须隐藏 navigationController.navigationBar 并将新的 UINavigationBar 添加到你的控制器。并将新的 UIBarButton(标题为“Back”)添加到 newNavigationBar.leftBarBarItem。

你也可以添加任何 UIView 代替 newNavigationBar

【讨论】:

以上是关于viewWillAppear 和 viewDidAppear 之间的操作?的主要内容,如果未能解决你的问题,请参考以下文章

viewWillAppear 和 viewDidAppear 之间的操作?

appDelegate 设置 rootViewController 和 viewWillAppear 不被调用?

如何在自定义导航中添加 viewwillappear 和 viewdidappear 之间的延迟?

viewWillAppear 和 viewWillDisappear 之间的排序问题

关于 viewController 的“viewDidLoad”和“viewWillAppear”方法

动画 viewWillAppear 和 viewWillDisappear?