在iOS6上dismissModalViewControllerAnimated崩溃

时间:2012-09-27 18:56:46

标签: iphone ios cocoa-touch uiviewcontroller ios6

我在iOS 6.0上遇到了崩溃。我有一个视图控制器从中我以模态方式呈现导航视图控制器,然后从导航堆栈我提出另一个视图控制器模态并最终解除整个模态堆栈我将以下消息传递给我的第一个视图控制器从我显示导航控制器。

现在这适用于6.0以下的iOS。我该怎么办呢?

[self dismissModalViewControllerAnimated:YES];

3 个答案:

答案 0 :(得分:4)

我也有类似的崩溃,其中一件事帮我解决了这个问题:

vc.modalPresentationStyle = UIModalPresentationCurrentContext;

答案 1 :(得分:3)

编辑:让我们假设您向appDelegate添加一个名为'makeMeNumberOne:(UIViewController *)vc'的方法: (我知道你使用'模态'版本,它们在iOS6中被弃用,切换到'呈现'版本) 。另外我假设您可以找到navigationController,如果这是一个问题,请添加注释我将进一步扩展它,并假设您正在使用ARC。)

  • 你拥有的参数是一个强大的参考,它保存当前呈现的viewController,让我们称之为pvc

  • 向navigationController询问其viewControllers,并获取最后一个

  • 作为调试工具,验证此vc是否具有非零的presentViewController属性

  • 消息上面的最后一个视图控制器:

    [lastOne dismissViewControllerAnimated:NO completion:^ {     [navigationController.viewControllers = @ [pvc]; }];

答案 2 :(得分:3)

可能是因为在iOS6中不推荐使用dismissModalViewController?试试

[self dismissViewControllerAnimated:YES completion:nil];