manual( list 5-2)表示可以像这样将拆分 View Controller 添加到 UIWindow:
[window addSubview:splitVC.view];
但是,在示例代码中,我看到以下内容运行良好。
[window setRootViewController:splitVC];
这些有什么区别?
最佳答案
在这种情况下,它们都做同样的事情,但 addSubview
和 setRootViewController
之间存在差异。 addSubView
是 UIView
的一个方法,而 UIWindow
继承自 UIView
和方法,而其 rootviewcontroller
属性来自 UIWindow
类。但是方法上的区别是
addSubview
将 View 添加到调用者 View 层次结构和调用对象保留所有权。
setRootViewController
将 View 设置为 windows only view 或 main查看,如果你愿意的话。另外一点是它会删除所有 subview (如果有),而 addSubView 不会这样做。
关于ios - UIWindow 类 : What's the difference between addSubview and setRootViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8123322/