我有以下代码来推送新的视图控制器。
- (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];
}
}
要添加自定义按钮,请转到此链接
希望这对您有所帮助。