问题描述
|
我想做这样的事情。所有控制器都推到导航控制器上。
ViewController 1-> ViewController 2(不显示通过按下自动显示的后退按钮)-> ViewController 3(导航栏的Show Back按钮)-> ViewController 4(再次隐藏后退Bar按钮)。
我尝试将ViewController1的标题设置为空,但是后退按钮未出现在应用程序中的任何位置。另外,我尝试在导航堆栈上按ViewController2之前将后退按钮设置为nil。但是没有任何效果像预期的那样。有人知道该怎么做吗?注意-我想要默认的后退按钮,当我们将viewController推入堆栈而不是左后退按钮项目时出现。如果没有其他选项,则我更喜欢使用左键按钮项方法。
解决方法
我以前做过类似的事情。在将要按下的下一个视图控制器的控制器中,您不希望后退按钮放置在您正在执行“ 0”的任何位置
myNextViewController.navigationItem.hidesBackButton = YES;
[self.navigationController pushViewController:myNextViewController animated:YES];
在您的情况下,它将位于堆栈的第一个和第三个viewControllers中。
, hidesBackButton
方法显示后退按钮被按下的动画。多么小,就像您说的那样,这似乎不正确。肮脏的选项向前将是在父视图控制器中执行此操作。
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.title = @\"Title\";
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
self.title = @\"\";
}
原始答案
您需要将其添加到要隐藏后退按钮的视图控制器中。很自我解释。
self.navigationItem.hidesBackButton = YES;