Objective c 导航控制器出现问题

Objective c 导航控制器出现问题,objective-c,ios,uinavigationcontroller,modalviewcontroller,presentmodalviewcontroller,Objective C,Ios,Uinavigationcontroller,Modalviewcontroller,Presentmodalviewcontroller,我正在使用presentModalViewController演示一个导航控制器,其中视图控制器初始化为其根。但是,当我将另一个视图控制器推到这个新的导航堆栈上时,需要按两次“后退”按钮才能返回到以模式显示的原始视图。你知道为什么会这样吗?是否有可能将新的视图控制器推到原始导航控制器上,然后再推到模态视图控制器中的导航控制器上 原始导航控制器中的我的代码: UINavigationController *navController = [[UINavigationController alloc

我正在使用
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];

您有两个导航堆栈-您正在以模式呈现一个导航控制器

只需使用一个,如下所示:

 [self.navigationController presentModalViewController:addViewController animated:YES];
 [addViewController release];

我解决了我的问题。我处理视图控制器和导航控制器都很好。但是使用表视图将新控制器推送到导航控制器堆栈上。在我的表视图中,处理行选择的switch语句缺少一个break语句,因此调用了两个case,而不是该行的一个case,如果这有意义的话。

出于某种原因,它认为我提供的视图控制器与我创建的视图控制器不同。我有一个我推的特定视图控制器,一个我推的标题视图控制器,还有一个我推的DurationViewController,都在同一个视图中,没有问题。但是PriorityViewController被搞砸了。控制台似乎认为我在推特定的ViewController而不是PriorityViewController。所以它被破坏了,因为你没有“破坏”它?:-)哈哈,这是一个很棒的双关语。这是唯一一个值得感谢的论坛。:)只要它起作用,我可以在生活中笑,你可以笑,或者你可以哭。每个人都必须选择。