我想做这样的事情。所有控制器都被推送到导航控制器上。 ViewController 1 - > ViewController 2(不显示通过按下自动出现的后退按钮) - > ViewController 3(导航栏的Show Back按钮) - > ViewController 4(再次隐藏Bar按钮)。
我已经尝试将View的标题设置为空,但后面的按钮不会出现在应用中的任何位置。此外,我已经尝试将按钮设置为nil,然后在导航堆栈上推送ViewController2。但没有任何预期的效果。有人知道怎么做。注意 - 我想要在堆栈上按下viewController而不是左栏按钮项时出现的默认后退栏按钮。如果没有选项,那么我更喜欢左栏按钮项目方法。
答案 0 :(得分:7)
我之前做过类似的事情。在控制器中,如果您正在执行pushViewController:
myNextViewController.navigationItem.hidesBackButton = YES;
[self.navigationController pushViewController:myNextViewController animated:YES];
在你的情况下,这将是堆栈中的第一个和第三个viewControllers。
答案 1 :(得分:1)
hidesBackButton
方法显示后推条按钮被推出的动画。不过很小,就像你说的那样似乎不对。脏选项转发将在父视图控制器中执行此操作。
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.title = @"Title";
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
self.title = @"";
}
原始答案
您需要将其添加到要隐藏后退按钮的视图控制器中。非常自我解释。
self.navigationItem.hidesBackButton = YES;