我在 ios6 中面临关于解雇 modalViewController 的问题
这是我分享的代码片段:
UIViewController *controller=appdelegate.navigationController.topViewController;
if(kDeviceVersion>=5.0){
if(controller.parentViewController){
if(controller.parentViewController.parentViewController){
[controller.parentViewController.parentViewController dismissViewControllerAnimated:NO completion:nil];
}
[controller.parentViewController dismissViewControllerAnimated:NO completion:nil];
}
}
else{
if(controller.parentViewController){
if(controller.parentViewController.parentViewController){
[controller.parentViewController.parentViewController dismissModalViewControllerAnimated:NO];
}
[controller.parentViewController dismissModalViewControllerAnimated:NO];
}
}
此代码在 ios4.0 到 ios 5.1.1 上运行良好。但未能在 ios6 上工作。我想解雇的那些模态视图控制器不会被解雇。相反,它显示了这个错误。
尝试关闭其视图当前未出现的模态视图控制器。自我 = UINavigationController:0xa947440 modalViewController = UINavigationController:0x8c36170
但是当我尝试使用 presentModalViewController 呈现该视图控制器时,它会显示
警告:尝试在 UINavigationController:0xa947440 上呈现,它已经在呈现 UINavigationController:0x8c36170
请建议我该怎么做以及如何为 ios6 解决此问题。