我正在尝试使用隐藏的导航栏从视图控制器推送带有可见导航栏的视图控制器.
我尝试[[self navigationController] setNavigationBarHidden:YES animated:NO];了viewWillAppear,viewDidAppear,viewWillDisappear ......等各种组合.
// First View Controller
@implementation FirstViewController
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[[self navigationController] setNavigationBarHidden:YES animated:NO];
NSLog(@"[%@ viewWillAppear]", self);
}
@end
// Second View Controller
@implementation SecondViewController
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[[self navigationController] setNavigationBarHidden:NO animated:NO];
NSLog(@"[%@ viewWillAppear]", self);
}
@end
Run Code Online (Sandbox Code Playgroud)
没有任何效果.我还尝试了自定义代码来"动画"推送和弹出,这有效,但我失去了边缘滑动和查看平移.在我深入挖掘之前,只想确保我不重新发明轮子.
星巴克应用程序就是我想要模仿的东西.
应用程序的根视图控制器(深色背景视图)是全屏,并注意它没有UINavigationBar.但是当您点击其中一个按钮时,它会使用UINavigationBar推动视图控制器(浅色背景视图).从那里,如果您点击"后退"箭头,它会查看控制器弹出导航栏.交互式弹出滑动手势也有效.
