当我导航回主视图时,导航栏可见

时间:2010-07-10 16:21:58

标签: iphone xcode uinavigationcontroller

我在我的视野中使用了这个 [self.navigationController setNavigationBarHidden:YES]; 它在应用程序启动时隐藏但当我导航到下一个屏幕并返回主视图时不隐藏它导航栏... 为什么会那样?

我应该添加任何东西吗?

...

2 个答案:

答案 0 :(得分:4)

这对我有用:

- (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];
}

然后你不需要viewDidLoad中的那个。

如果从该更改中不清楚,原始代码不起作用的原因是即使视图不在屏幕上,视图也可能保留在内存中 - 因此需要在每次视图时隐藏/显示导航栏带上或关闭屏幕。

答案 1 :(得分:0)

viewDidLoad仅在第一次加载视图时触发。 viewWillAppear每次都会触发。