从Xcode的主控制器中删除导航栏?

时间:2014-11-27 02:35:45

标签: ios swift uiviewcontroller

我在Xcode 6中有一个主视图控制器(程序是快速的),我有几个按钮,通向某些导航控制器。当我测试应用程序时,我第一次看到它看起来很好(顶部没有导航栏)。当我点击主视图控制器上的一个按钮时,它会显示我选择的导航控制器,一切都恢复正常。当我点击栏按钮"返回"在该导航控制器上,以便它再次向我显示我的主视图控制器。当我回到主视图控制器时,顶部有一个导航条,它不应该在那里。我希望我的主视图控制器顶部没有导航栏。我尝试使用push,modal和show segues来查看它是否是问题,但我仍然无法弄明白。对可能发生的事情的任何想法?

2 个答案:

答案 0 :(得分:16)

听起来你需要重新隐藏导航栏。为此,请添加:

self.navigationController?.navigationBarHidden = true

到您要隐藏导航栏的任何视图控制器的viewWillAppear


针对Swift 3进行了更新:

self.navigationController?.isNavigationBarHidden = true

答案 1 :(得分:5)

在mainViewController中,编写代码以隐藏viewWillAppear方法中的导航栏。 在Objective-C

-(void)viewWillAppear:(BOOL)animated
{
   [super viewWillAppear:YES];
   [[self navigationController] setNavigationBarHidden:YES animated:NO];
}