在运行时检测presentViewController

时间:2012-02-22 19:49:41

标签: iphone objective-c ios ipad ios5

通过iOS 5文档,我注意到不推荐使用modalViewController来代替presentViewController。我想过使用:

[viewController respondsToSelector:@selector(presentedViewController)];

查看是否存在getter并在支持时使用presentViewController。

这是在iOS5 +中检测此功能的正确方法吗?还是有更好的方法?

1 个答案:

答案 0 :(得分:0)

某些包含代码在iOS4上是私有的,这意味着仅使用respondsToSelector进行检查可能并不总是有效。我不是100%确定它是否会在你的情况下失败,但我仍然建议检查当前版本是否为iOS5或更高版本。它是一种更强大且面向未来的方法,可确保您在早期版本中不使用特定于iOS5的代码。

float version = [[[UIDevice currentDevice] systemVersion] floatValue];