我有两个不同的场景调用相同的uiviewcontroller, 方案1: 在主uiviewcontroller中单击按钮创建一个虚拟导航器并显示如下:
UINavigationController* dummyNavigation = [[UINavigationController alloc]init];
[dummyNavigation addChildViewController:bViewController];
[self presentViewController:dummyNavigation animated:NO completion:NULL];
方案2:
在主uiviewcontroller中点击一个按钮打开一个uitableviewcontroller,每次点击一行打开bViewController
,如下所示:
[self.navigationController pushViewController:bViewController animated:NO];
我已将bViewController的导航栏设置为隐藏
[self.navigationController setNavigationBarHidden:YES];
并创建了一个按钮,用此代码替换导航的后退按钮
[self dismissViewControllerAnimated:YES completion:NULL];
问题:在两种情况下,后退按钮代码都会返回到主uiviewcontroller
,但在方案2中,它会返回到uitableviewcontroller
答案 0 :(得分:-1)
检查解雇时,如果它在导航控制器中,则弹出否则解除。
if (self.navigationController) {
[self.navigationController popViewControllerAnimated:YES];
} else {
[self dismissViewControllerAnimated:YES completion:nil];
}