首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >self.window.rootViewController vs window addSubview

self.window.rootViewController vs window addSubview
EN

Stack Overflow用户
提问于 2011-03-10 00:00:50
回答 4查看 41.2K关注 0票数 51

我注意到在应用程序代理中有很多iPhone应用程序的示例

- (void)applicationDidFinishLaunching:(UIApplication *)application

[window addSubview: someController.view]; (1)

而不是

self.window.rootViewController = self.someController; (2)

有什么实际的理由使用其中一个而不是另一个吗?一个在技术上是正确的吗?控制器的命令是否等同于数字(2),如

self.someController.rootController = self.someOtherController; // pseudocode

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-10 00:07:32

UIWindow rootViewController属性是iOS4中的新特性。

较老的技术是使用addSubview

推荐的新技术是设置rootViewController

票数 51
EN

Stack Overflow用户

发布于 2012-10-23 04:42:52

这只是iOS6版本的更新。

如果仍然使用-UIWindow addsubview:模板,那么现在您的控制台中可能也会出现“应用程序窗口期望在应用程序启动结束时拥有根视图控制器”的消息。以及潜在的旋转问题和应用程序中的布局问题。

如上所述设置窗口的rootViewController也可以解决这个问题。

票数 10
EN

Stack Overflow用户

发布于 2011-11-04 04:14:38

我使用以下代码:

代码语言:javascript
复制
    rootViewController_ = [[RootViewController alloc] initWithFrame:[UIScreen mainScreen].bounds];
    window_ = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    if ([window_ respondsToSelector:@selector(setRootViewController:)]) { // >= ios4.0
        [window_ setRootViewController:rootViewController_];
    } else { // < ios4.0
        [window_ addSubview:rootViewController_.view];
    }
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5248460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档