我在UINavigationController
中有UISearchDisplayController
(我们称之为 VC0 )。 VC0 使用UITableView
在搜索结果UIViewController
中显示结果。用户从搜索结果中选择一个表格单元格后,会推送另一个navigationBarHidden
(称之为 VC1 )。
在 VC0 和 VC1 中,我已将YES
设置为viewDidAppear:
。但是,当我选择表格单元格并按下 VC1 时,我仍会看到 VC1 顶部的导航栏,后面的按钮指向 VC0
如何永久隐藏 VC1 中的导航栏?
更新
如果我在self.navigationController.navigationBarHidden = YES;
中添加以下行,导航栏就会消失,但在隐藏之前它仍然可见。
viewDidLoad
但如果我将其放在viewWillAppear:
或{{}}
中,则无效。有什么理由吗?
答案 0 :(得分:0)
将一个简单的 ViewController 作为名称BaseViewController。
并使你的VC0和VC1都是从BaseViewController派生的。只需在BaseViewController中将navigationBarHidden
设置为YES
。
这将通过简单的一行代码适用于VC0和VC1。
@interface BaseViewController : UIViewController
@interface VC0 : BaseViewController
@interface VC1 : BaseViewController
和BaseViewController的方法
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationController.navigationBarHidden=YES;
}