我有两个视图控制器A和B,当在A上点击UIButton时,我有一个进入B的推送段,在A上,我在viewDidLoad 中有这个
self.navigationController.navigationBar.hidden = NO;
self.navigationItem.hidesBackButton = YES;
然后在B中,我在视图中有这个DidLoad
self.navigationController.navigationBar.hidden = NO;
self.navigationItem.hidesBackButton = NO;
但在B,我看不到后退按钮,发生了什么?为什么会发生这种情况?
如果我在屏幕上完全滑动,它会返回,但我想要导航栏中的后退按钮。
感谢的帮助
实际上,当您将导航栏按钮隐藏在parentView
中时,它会将其隐藏在整个堆栈中。要隐藏导航barButton
,请在viewController
的viewWillAppear
中编写代码
self.navigationController.navigationBar.hidden = NO;
self.navigationItem.hidesBackButton = YES;
在viewController
的viewWillDisappear
中,取消隐藏导航按钮
- (void) viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
self.navigationItem.hidesBackButton = NO;
}
现在它将在B viewController
中显示导航栏按钮。
更新
将backButton
设置为nil ,而不是将backButton
隐藏在viewController
上
self.navigationController.navigationBar.topItem.leftBarButtonItem = nil;
并在B viewController
上添加自定义backButton