self.window.rootViewController都干了些啥事()

一直很好奇, 我们即可以向self.window 添加子视图,又可以设置其rootViewController,到底他的视图管理是怎么实现的呢?
看了不少书,才发现,原来设置rootViewController的过程中,其实是把rootViewController 的view 添加到window上,也就是self.window addSubView 来实现的。
看代码

- (void)setRootViewController:(UIViewController*)viewController { UIView *rootView = viewController.view; CGRect viewFrame = self.bounds; rootView.frame = viewFrame; [self addSubView:rootView]; _rootViewController = viewController; }

以上是window里的属性的实现代码。这样一来。看关系图。
self.window.rootViewController都干了些啥事()
文章图片


通过这张关系图和代码,我们很清楚的知道了原理是什么。
【self.window.rootViewController都干了些啥事()】









    推荐阅读