iPhone开发-self.window.rootViewController与window addSubview二者有什么区别?

发布于 2016-11-23 14:07:22 字数 129 浏览 1452 评论 2

在iphone开发中,使用xcode4创建好一个项目后,在生成的模板代码中一般会发现这样的代码
self.window.rootViewController而在很多教程中是用这个 window addSubview 二者有什么区别呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜柠檬 2017-08-15 10:32:41

4.0之前用addsubview 之后用setRootViewController

偏爱自由 2017-06-18 11:44:26

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"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文