【发布时间】:2012-08-03 06:11:19
【问题描述】:
这个问题看起来重复了,但我没有找到适合我的问题的解决方案。就我而言,单击后退按钮后,我想隐藏导航栏。例如View1 推送了 view2,view2 将有导航栏,一旦我点击返回它会让我回到 view 1 它不应该包含导航栏我需要隐藏它。我尝试在视图 2 中使用 viewWillDisappear 方法进行隐藏,它可以工作,但是如果我有更多视图并且如果我单击后退按钮,我会从视图 1 推送每个视图,导航栏应该隐藏在视图 1 中。无论如何,在视图 1 本身中是否知道其他视图已弹出。我在 view1 中尝试了 viewwillappear 方法,它没有被调用。我可以在这里做什么?
这个方法在我最初加载 view1 时被调用,而不是在弹出 view2 之后调用。
- (void) viewWillAppear : (BOOL)animated
{
[root_obj.navigationController setNavigationBarHidden:YES animated:YES];
}
这就是我推动视图 2 的方式..
[root_obj.navigationController pushViewController:view2 animated:NO];
提前致谢
【问题讨论】:
-
“我在 view1 中尝试了 viewwillappear 方法,它没有被调用。”你确定吗?我不明白为什么不应该调用它。
-
@inoob 我试过了。它没有被调用。
-
我有几个类似的应用程序,其中我的第一个屏幕没有导航栏,其余屏幕都有。在那我总是添加导航栏隐藏在
viewWillAppear并且似乎工作得很好。如果可能的话,你能显示viewWillAppear代码吗? -
或者推的方式我做错了???
-
@FerozMohideen,尝试在
viewWillAppear中执行NSLog,据我所知viewWillAppear总是在视图出现时被调用。-(void) viewWillAppear : (BOOL)animated { [root_obj.navigationController setNavigationBarHidden:YES animated:YES]; NSLog(@"VIEW WILL APPEAR!!"); [super viewWillAppear:animated]; },请试试这个代码。
标签: iphone objective-c ios xcode