当我使用 pushViewController 从导航控制器推送时,如何隐藏 UIViewcontroller 中的顶栏?有什么帮助吗?
将此代码放在要隐藏导航栏的视图控制器中 .
- (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]; }
以下是 Swift 3 中的操作方法:
override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) self.navigationController?.setNavigationBarHidden(true, animated: animated) }
附:我发现如果你将动画设置为 false ,推出时会出现一个黑条 . 但是当它设置为 true 时它就像丝绸一样光滑!
false
true
对于iOS 8,可能这个工作可以解决它
CATransition* transition = [CATransition animation]; transition.duration = 0.3; transition.type = kCATransitionPush; transition.subtype = kCATransitionFromRight; [self.navigationController.view.layer addAnimation:transition forKey:kCATransition]; [self.navigationController setNavigationBarHidden:TRUE animated:FALSE]; [self.navigationController pushViewController:productViewObj animated:FALSE]; [productViewObj.navigationController setNavigationBarHidden:TRUE animated:FALSE]; [productViewObj release];
3 回答
将此代码放在要隐藏导航栏的视图控制器中 .
您可能还想根据自己的需要坚持下去:
以下是 Swift 3 中的操作方法:
附:我发现如果你将动画设置为
false
,推出时会出现一个黑条 . 但是当它设置为true
时它就像丝绸一样光滑!对于iOS 8,可能这个工作可以解决它