iPhone开发-self.window.rootViewController与window addSubview二者有什么区别?
在iphone开发中,使用xcode4创建好一个项目后,在生成的模板代码中一般会发现这样的代码
self.window.rootViewController而在很多教程中是用这个 window addSubview 二者有什么区别呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
4.0之前用addsubview 之后用setRootViewController
window是整个app的根视图,整个应用程序的view都是基于这个视图的。iOS app在启动的过程中会调用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
这个方法,在这个启动应用程序的delegate方法中,我们会看到[self.window makeKeyAndVisible]的调用,当这句代码执行完毕应用程序的界面就显示出来了。
addSubview是把subview添加到这个视图上来显示,但是这种做法是不规范的,在makeKeyAndVisible之前需要给window设置一个rootViewController,这是标准的做法,我们的应用程序需要一个rootViewController来控制界面的显示,用window addSubview的方式添加的viewController不再是根视图。不设置rootViewController时运行程序,在控制台会看到警告的信息,"...expected to have a root ViewController"