弹出到iOS上的特定控制器 |目标-c.



我有以下代码来推送新的视图控制器。

- (IBAction)btnEditPressed:(id)sender {
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    UIViewController *controller = [storyboard instantiateViewControllerWithIdentifier:@"contactListViewController"];
    [self parentShowViewController:controller sender:sender];
}
- (void)parentShowViewController:(UIViewController *)controller sender:(id)sender {
    if ([self isIOS7]) {
        // En iOS7 no existe el método showViewController
        [self.navigationController pushViewController:controller animated:YES];
    } else {
        //[self.navigationController pushViewController:controller animated:YES];
        [super showViewController:controller sender:sender];
    }
}
现在我有

以下场景:我有 3 个视图控制器,称为 A、B、C。

A->B->C 如果按后退按钮,我想从 C 返回到 A

试试这样的事情

如果要从控制器C转到控制器A,请在控制器C上创建自定义后退按钮并设置其操作,然后输入以下代码。

 [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES];

仅当您知道控制器 A 是导航中的第一个控制器时,此操作才有效。

如果你不知道视图控制器的顺序,试试这个

    for (UIViewController *vc in self.navigationController.viewControllers) {
        if ([vc isKindOfClass:[ViewControllerA class]]) {
            [self.navigationController popToViewController:VC animated:Yes];
        }
    }

要添加自定义按钮,请转到此链接

希望这对您有所帮助。

最新更新