1

我正在分享这个,因为我花了一段时间才弄清楚。这是如果您需要摆脱双叠模式视图(如果它是紧迫的)。

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

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

4

1 回答 1

2

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

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

正如@Hollance 在我的相关帖子中指出的那样:

iOS 5 SDK 以不同方式处理 UIView

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

于 2011-10-19T19:23:38.627 回答