这个问题看起来重复,但我没有为我的问题找到正确的解决方案。就我而言,单击后退按钮后,我想隐藏导航栏。例如View1推了view2,view2将有导航栏,一旦我点击返回,它就会带我回到 View 1,它不应该包含导航栏,我需要隐藏它。我尝试在 View 2 中使用 viewWillDisappear 方法进行隐藏,它有效,但如果我有更多 View ,并且如果单击后退按钮,我会从 view1 推送每个 View ,则导航栏应隐藏在 view1 中。无论如何, View 1 本身是否知道其他 View 已弹出。我在 view1 中尝试了 viewwillappear 方法,但它没有被调用。我在这里能做什么?
这个方法在我最初加载 view1 后被调用,而不是在弹出 view2 之后被调用。
- (void) viewWillAppear : (BOOL)animated
{
[root_obj.navigationController setNavigationBarHidden:YES animated:YES];
}
这就是我插入 View 2 的方式..
[root_obj.navigationController pushViewController:view2 animated:NO];
提前致谢
最佳答案
我想,你忘了调用父类(super class)的 viewWillAppear: 方法。
-(void) viewWillAppear : (BOOL)animated
{
[super viewWillAppear:animated];
[root_obj.navigationController setNavigationBarHidden:YES animated:YES];
}
关于iphone - 点击导航后退按钮时会调用什么方法-IOS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11790220/