簡體   English   中英

UIWindow rootViewController的向后兼容性

[英]Backward compatibility of UIWindow rootViewController

當創建一個新的基於Xcode 4視圖的項目時,它將在applicationDelegate didFinishLaunching方法上創建該行:

self.window.rootViewController = self.viewController;

但是屬性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];
}

fichek的答案是完全正確的。 對該答案+1。

但是,請記住, 商店不再接受 iOS 2應用程序。 當iOS 5發布時,iOS 3 可能也會發生同樣的情況。 有傳言稱iOS 5將在大約一個月后發布。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM