UINavigationController navigationBarHidden 仅针对单个视图控制器设置为 true
Posted
技术标签:
【中文标题】UINavigationController navigationBarHidden 仅针对单个视图控制器设置为 true【英文标题】:UINavigationController navigationBarHidden set to true only for a single view controller 【发布时间】:2014-12-22 23:35:40 【问题描述】:假设,我有一个类型的视图层次结构:
A [rootviewcontroller of a UINavigationController] --> B --> C
我想为 A 禁用 navigationBar
但为 B & C 启用它。
-
可以这样做吗?
目前,我通过在
viewWillAppear
中为 B 和 C 启用它来实现这一点,但在 viewWillAppear
为 A 时禁用它。这有点工作,但感觉不自然和强迫。有正确的方法吗?
【问题讨论】:
我认为这是正确的方法,但如果导航总是从 A 到 B 再到 C,则不必在 C 中设置它。 确实如此。谢谢。 您也可以在 viewDidLoad 中执行此操作,然后不会在每次视图出现时都执行此操作,而只是第一次。 您是否尝试在vc A的viewDidDisAppear
中启用导航?
【参考方案1】:
你最好将导航栏隐藏在 viewDidAppear 方法中。
-(void)viewDidAppear:(BOOL)animated
[yourNavigationController setNavigationBarHidden:YES animated:YES];
【讨论】:
以上是关于UINavigationController navigationBarHidden 仅针对单个视图控制器设置为 true的主要内容,如果未能解决你的问题,请参考以下文章
带有主 UINavigationController 和详细 UINavigationController 的 UISplitViewcontroller
带有 UINavigationController 的 UITabBarController,在 hidesBottomBarWhenPushed 上隐藏 UINavigationController
在 UINavigationController 内的 UITabBarcontroller 中添加 UINavigationController?
UINavigationController 与 AppDelegate 中的 UISegmentedControl 切换 UINavigationController 的 rootviewcontr
从一个 UINavigationController 到另一个 UINavigationController (Swift iOS 9, xcode 7)