我正在使用presentModalViewController
呈现一个导航控制器,其中视图控制器已初始化为其根目录。但是,当我将另一个视图控制器推到这个新的导航堆栈上时,后退按钮需要按两次才能返回到模态显示的原始视图。知道为什么会这样吗?是否有可能将新的视图控制器推送到原始导航控制器上,然后推送到模态视图控制器中的导航控制器?
原始导航控制器中的代码:
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:addViewController];
[self.navigationController presentModalViewController:navController animated:YES];
[addViewController release];
[navController release];
然后我的代码在模态视图中:
PriorityViewController *priorityView = [[PriorityViewController alloc] initWithNibName:@"PriorityView" bundle:nil];
priorityView.taskInfo = self.taskInfo;
priorityView.isAdding = YES;
[self.navigationController pushViewController:priorityView animated:YES];
[priorityView release];
答案 0 :(得分:0)
您有两个导航堆栈 - 您将以模态方式呈现导航控制器。
只需使用一个,如下:
[self.navigationController presentModalViewController:addViewController animated:YES];
[addViewController release];
答案 1 :(得分:0)
我想出了我的问题。我正在处理视图控制器,导航控制器就好了。但是使用表视图将新控制器推送到导航控制器堆栈。并且在我的表视图中处理行选择的switch语句缺少一个break语句,因此有两个案例被调用而不是只有一个用于该行,如果这有意义的话。