Gaz*_*zer 49 iphone objective-c
我在应用程序代理中注意到很多iPhone应用程序的例子
- (void)applicationDidFinishLaunching:(UIApplication *)application
有
[window addSubview: someController.view];
(1)
而不是
self.window.rootViewController = self.someController;
(2)
是否有任何实际理由使用一个而不是另一个?技术上是否正确?控制器是否具有与数字(2)相同的命令
self.someController.rootController = self.someOtherController; // pseudocode
Tom*_*ift 49
该UIWindow
rootViewController
属性是iOS4的新功能.
较旧的技术是使用addSubview
.
新的,推荐的技术是设置rootViewController
.
jas*_*der 10
只是对ios 6发布的更新.
如果仍然使用 - [UIWindow addsubview:]样板文件,您现在可能会在控制台中收到消息"应用程序窗口应该在应用程序启动结束时有一个根视图控制器".以及您的应用中潜在的轮换问题和布局问题.
如上所述设置窗口的rootViewController也会解决这个问题.
我用这个代码:
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];
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
40953 次 |
最近记录: |