自动关闭underling模态视图

时间:2011-09-28 21:35:49

标签: iphone modalviewcontroller stacked

我正在分享这个,因为我花了一段时间才弄明白。如果您需要摆脱双叠的模态视图,如果它存在,那就是这样。

if(self.parentViewController.parentViewController)
        [self.parentViewController.parentViewController dismissModalViewControllerAnimated:YES];
else
    [self dismissModalViewControllerAnimated:YES];

我有一种观点,有时会从模态视图中调用。在这种情况下,我需要同时摆脱两种观点。在处理它是唯一的模态视图的情况下。这很有用。

1 个答案:

答案 0 :(得分:2)

从xCode 4.2开始,这已经不再有效了。处理这种情况的新方法是:

if(self.presentingViewController.presentingViewController)
    [self.presentingViewController.presentingViewController dismissModalViewControllerAnimated:YES];
else
    [self dismissModalViewControllerAnimated:YES];

正如@Hollance在我的一个相关主题中指出的那样:

iOS 5 SDK treating UIViews differently

  

“iOS 5中有一个名为presentsViewController的新属性。使用新的容器视图控制器API,parentViewController的含义发生了一些变化,所以当你认为它时,它可能并不总是被设置。这就是现在提交的SessionController 。“