3

有没有办法从一个隐藏在导航控制器深处的视图控制器执行转场,而不是在调用转场时阻止“后退”按钮出现?这样做的理由是,在深入了解产品之后,我们宁愿用户不能回去把事情搞砸。

4

4 回答 4

16

在应该隐藏后退按钮的视图上,您​​所要做的就是在viewDidLoad.

self.navigationItem.hidesBackButton = YES;
于 2012-07-08T03:24:14.547 回答
1

在你的-(void)viewWillAppear:(BOOL)animated你可以打电话[self.navigationItem setHidesBackButton:YES animated:NO];

于 2012-07-08T03:24:27.720 回答
1

我个人更喜欢在源 UIViewController 而不是目标 UIViewController 中设置隐藏后退按钮。这允许您延迟每个 segue 以启用或禁用后退导航。在中viewDidLoad您将无法看到用于实例化 UIViewController 的 segue。

因此使用prepare for segue:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"segueToHideBackButtonIdentifier"]){
    [segue.destinationViewController.navigationItem setHidesBackButton:YES];
}
于 2017-03-13T10:01:01.423 回答
0

您必须将 segue 执行为“显示详细信息”而不仅仅是“显示”,新视图将替换当前视图

在此处输入图像描述

于 2015-03-13T09:04:08.507 回答