没有带Push Segue的后退按钮



我有两个视图控制器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,请在viewControllerviewWillAppear中编写代码

self.navigationController.navigationBar.hidden = NO;
self.navigationItem.hidesBackButton = YES;

viewControllerviewWillDisappear中,取消隐藏导航按钮

- (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

最新更新