【发布时间】:2014-03-05 09:37:06
【问题描述】:
所以我有两个 UIViewControllers - VC1 的属性为 self.navigationController.navigationBarHidden = YES; 和 VC2 的相同属性设置为 NO。
我在 VC2 中做了以下操作:
- (void)viewWillAppear:(BOOL)animated{
// Showing navigation bar for VC2
self.navigationController.navigationBarHidden = NO;
}
- (void)viewWillDisappear:(BOOL)animated{
// Hiding navigation bar for VC1
self.navigationController.navigationBarHidden = YES;
}
它完美地隐藏了 VC1 的 NavigationBar。但是,当我使用所谓的interactivePopGestureRecognizer(即用手指向右滑动UIViewController 以弹出它)时,navigationBar 立即隐藏,甚至 95% 的视图都可见:
将代码放到viewDidDisappear 也无济于事,因为NavBar 会留在视图中(可能是因为它从未被调用过)。这不是我需要的:
在这种情况下,最好的解决方法是什么?我们如何让navBar 留在在 VC2 上,而它正在向右滑出并且不出现在 VC1 上?
【问题讨论】:
-
试试 viewdiddisappear
-
@KumarKl 查看我在帖子上的编辑,已经这样做了,但无济于事。
-
如果你能把它的图片或截图,那就太好了。
-
检查是否有回调方法在完成滑动后被调用,如 didFinishSliding:。如果是这样,请在该方法中添加导航栏隐藏/显示逻辑
-
@Ab'initio 这正是我要找的,但我还没有找到。
标签: ios cocoa-touch ios7 uikit uinavigationbar