Oli*_*ver 2 iphone backwards-compatibility uiviewcontroller uiwindow ios
在创建基于Xcode 4视图的新项目时,它会在applicationDelegate didFinishLaunching方法上创建该行:
self.window.rootViewController = self.viewController;
Run Code Online (Sandbox Code Playgroud)
但该属性rootViewController仅在iOS 4.0中出现.
我可以在这里写些什么来与4.0之前的iOS兼容?
PS:由于一些问题,我将无法测试解决方案,所以请它应该没问题.
使用内省来检测UIWindow类是否在运行时具有该属性,如果没有,则只需将视图控制器的视图作为子视图添加到窗口中.
if ([UIWindow instancesRespondToSelector:@selector(rootViewController)]) {
self.window.rootViewController = self.viewController;
} else {
[self.window addSubview:self.viewController.view];
}
Run Code Online (Sandbox Code Playgroud)