【发布时间】:2012-09-28 14:03:04
【问题描述】:
我在 ios6 中遇到了关于解除 modalViewController 的问题
这是我分享的代码 sn-p:
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 上工作。 我想解雇的那些模态视图控制器不会被解雇。而是显示此错误。
尝试关闭其视图当前未出现的模态视图控制器。 self = UINavigationController: 0xa947440 modalViewController = UINavigationController: 0x8c36170
但是当我尝试使用 presentModalViewController 显示该视图控制器时,它会显示
警告:尝试在 UINavigationController: 0xa947440 上呈现,它已经在呈现 UINavigationController: 0x8c36170
请建议我该怎么做以及如何为 ios6 解决此问题。
【问题讨论】:
-
从哪个控制器显示 modalView。请指定其代码。
标签: iphone objective-c ios ios6 modalviewcontroller