Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在没有后退按钮的情况下执行segue?_Objective C_Ios_Xcode_Ios5 - Fatal编程技术网

Objective c 在没有后退按钮的情况下执行segue?

Objective c 在没有后退按钮的情况下执行segue?,objective-c,ios,xcode,ios5,Objective C,Ios,Xcode,Ios5,是否有一种方法可以从隐藏在导航控制器中的某个viewcontroller执行segue,而不是在调用segue时阻止“后退”按钮显示?这样做的理由是,在深入到产品中之后,我们希望用户不能返回并把事情搞砸。在应该隐藏后退按钮的视图上,您所要做的就是在viewDidLoad中添加这一行 self.navigationItem.hidesBackButton = YES; 在-(void)视图中将出现:(BOOL)animated您可以调用[self.navigationItem setHidesB

是否有一种方法可以从隐藏在导航控制器中的某个viewcontroller执行segue,而不是在调用segue时阻止“后退”按钮显示?这样做的理由是,在深入到产品中之后,我们希望用户不能返回并把事情搞砸。

在应该隐藏后退按钮的视图上,您所要做的就是在
viewDidLoad
中添加这一行

self.navigationItem.hidesBackButton = YES;

-(void)视图中将出现:(BOOL)animated
您可以调用
[self.navigationItem setHidesBackButton:YES animated:NO]

您必须以“显示细节”而不仅仅是“显示”的方式执行segue,新视图将替换当前视图


我个人更喜欢在源UIViewController而不是目标UIViewController中设置隐藏后退按钮。这允许您按顺序取消设置以启用或禁用反向导航。在
viewDidLoad
中,您将无法看到哪个segue用于实例化UIViewController

因此,请使用“为segue做准备”:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"segueToHideBackButtonIdentifier"]){
    [segue.destinationViewController.navigationItem setHidesBackButton:YES];
}

该视图控制器可能有一个属性,可以切换是否调用该行,只需在您的prepareForSegue中设置它。这会隐藏“后退”按钮,但它现在会添加另一个具有特定名称的按钮?@Darknor那么您必须在某处实例化新的LeftBarButtonim,检查并确保没有在任何地方调用LeftItemsSupportElementBackButton。如果使用“显示详细信息”,NavController的标题将不会显示。如果需要,可以向“显示”的ViewController添加导航栏