iOS 5 SDK以不同方式处理UIViews

时间:2011-10-15 16:46:31

标签: iphone uiview modal-dialog ios5 dismiss

我在xCode 4.0.2中编译完全正常工作的应用程序不再可以在xCode 4.2中使用新SDK进行正确编译。

我的模态视图工作方式非常不同,有些州未被发现,或其他解雇无效。例如,这用于解除2个堆叠的模态视图:

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

现在这只是驳回了第一个观点......

我一直在寻找有关这些变化的文档,但没有找到。主应用代表似乎也有不同的工作方式。

非常感谢。

2 个答案:

答案 0 :(得分:7)

iOS 5中有一个名为presentingViewController的新属性。 parentViewController的含义在新容器视图控制器API中有所改变,因此在您认为它时可能并不总是设置。这就是presentingViewController现在的用途。

答案 1 :(得分:-1)

if ([self respondsToSelector:@selector(presentingViewController)])
    [self.presentingViewController.presentingViewController dismissModalViewControllerAnimated:YES]; // for IOS 5+
} else {
    [self.parentViewController.parentViewController dismissModalViewControllerAnimated:YES]; // for pre IOS 5
}