在一个视图控制器上隐藏导航栏,在推送的控制器上显示它
Posted
技术标签:
【中文标题】在一个视图控制器上隐藏导航栏,在推送的控制器上显示它【英文标题】:Hide Navigation Bar on one view controller, show it on the pushed one 【发布时间】:2012-05-14 11:49:43 【问题描述】:我进行了很多搜索,但没有找到解决问题的方法。 我的根视图控制器上有一个搜索栏。当我选择它时,我的键盘出现并且我隐藏(动画)导航栏。现在,当我按下一个单元格时,我推送了一个新的视图控制器。问题是当我显示导航栏时,它看起来不自然,它来自顶部,而推送的视图控制器来自右侧。我想做一些类似于电子邮件应用程序的事情:将推送的视图控制器和导航栏从右侧组合在一起。
谢谢。
【问题讨论】:
我不知道这是否是正确的方法,但他们可能会推送新的 NavigationController? 我试过了,但是你不能把一个导航控制器放在另一个导航控制器里面,我得到一个错误。 【参考方案1】:您需要像这样在 ViewController A 中设置导航栏可见(隐藏导航栏):
-(void)viewWillDisappear:(BOOL)animated
[self.navigationController setNavigationBarHidden:NO];
而在ViewController B中你需要在ViewDidLoad或ViewWillLoad中写下这段代码:
[[self navigationController] setNavigationBarHidden:YES animated:NO];
这对我有用,希望这可以帮助。
【讨论】:
以上是关于在一个视图控制器上隐藏导航栏,在推送的控制器上显示它的主要内容,如果未能解决你的问题,请参考以下文章