2012-05-16 52 views
23

任何人都可以告诉我如何在我的故事板中隐藏导航栏。我在下面的代码在模拟器中运行时工作正常,但它仍然出现在我的故事板中,这真的很烦人,因为它与我的图像放置有关。谁能帮忙?在故事板中隐藏导航栏

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

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

回答

50

enter image description here

单击具有顶栏导航到属性栏上的控制器Xcode的右侧。有一个标签为Top Bar的下拉列表(如上所示)将此下拉列表更改为none。

+0

我认为这是第一个相同的答案。 –

+0

在我输入时添加了它 – shoughton123

+6

如果我想要每个视图控制器,该怎么办? –

8

在故事板视图,只需选择NavigationController现场,并取消显示导航栏(属性检查器)

+3

这适用于所有的孩子虽然 - 不会工作,如果你只想隐藏一个 –

8

你必须点击实际的导航控制器,而不是视图控制器。在视图控制器上,导航下拉菜单不显示,但您仍然可以通过在模拟度量标准中选择顶栏:无。

Top Bar: None

+0

然后它不适用于单个视图控制器。 – jowie

2

解决方案使用斯威夫特3相同的:

第1步:使用属性检查器中隐藏故事板导航栏: enter image description here

第2步:添加以下代码到您的ViewController

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(animated) 

    // Hide the navigation bar on the this view controller 
    self.navigationController?.setNavigationBarHidden(true, animated: animated) 
} 

override func viewWillDisappear(_ animated: Bool) { 
    super.viewWillDisappear(animated) 

    // Show the navigation bar on other view controllers 
    self.navigationController?.setNavigationBarHidden(false, animated: animated) 
}