Ios 隐藏从UISearchDisplayController推送的视图控制器中的导航栏
我在Ios 隐藏从UISearchDisplayController推送的视图控制器中的导航栏,ios,objective-c,uiviewcontroller,uisearchbar,uisearchdisplaycontroller,Ios,Objective C,Uiviewcontroller,Uisearchbar,Uisearchdisplaycontroller,我在UINavigationController中有一个UIViewController(我们称之为VC0)VC0利用UISearchDisplayController在UITableView中显示搜索结果。用户从搜索结果中选择一个表格单元格后,它会推送另一个UIViewController(称之为VC1) 在VC0和VC1中,我已将navigationBarHidden设置为YES。但是,当我选择表格单元格并按下VC1时,我仍然可以看到VC1顶部的导航栏,其中有一个返回按钮,指向VC0 如何在
UINavigationController
中有一个UIViewController
(我们称之为VC0)VC0利用UISearchDisplayController
在UITableView
中显示搜索结果。用户从搜索结果中选择一个表格单元格后,它会推送另一个UIViewController
(称之为VC1)
在VC0和VC1中,我已将navigationBarHidden
设置为YES
。但是,当我选择表格单元格并按下VC1时,我仍然可以看到VC1顶部的导航栏,其中有一个返回按钮,指向VC0
如何在VC1中永久隐藏导航栏
更新:
如果我在视图中放置以下行,导航栏将消失:
,但它在隐藏之前仍然可见
self.navigationController.navigationBarHidden = YES;
但是如果我把它放在
viewdiload
或viewwillshould:
,它就不工作了。有什么原因吗?制作一个简单的视图控制器作为BaseViewController的名称。
并使您的VC0和VC1都源自BaseViewController。只需在BaseViewController中将navigationBarHidden
设置为YES
这将通过简单的一行代码适用于VC0和VC1
@interface BaseViewController:UIViewController
@接口VC0:BaseViewController
@接口VC1:BaseViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationController.navigationBarHidden=YES;
}
没有别的办法吗?我最好不要更改视图控制器的结构。然后您必须编写
self.navigationController.navigationBarHidden=YES
在每个viewControllers ViewWillDisplay方法中。它不起作用,我仍然可以在VC1中看到导航栏。是否要在两个viewControllers上隐藏导航栏?@VivekMolkar是。我可以在VC0中隐藏它,但不能在VC1中隐藏。您如何推动VC1?通过导航控制器按下Segue?@VivekMolkar nope<代码>[self.navigationController pushViewController:VC1动画:是]代码>