作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
manual ( list 5-2)表示可以像这样将 Split View Controller 添加到 UIWindow 中:
[window addSubview:splitVC.view];
但是,在示例代码中,我发现以下代码运行良好。
[window setRootViewController:splitVC];
这些有什么区别?
最佳答案
在这种情况下,它们都做同样的事情,但 addSubview
和 setRootViewController
之间存在差异。 addSubView
是 UIView
的一个方法,而 UIWindow
继承自 UIView
,因此也是该方法,而它的 rootviewcontroller
属性来自 UIWindow
类。但是方法上的区别是
addSubview
将 View 添加到调用者 View 层次结构中,并且调用对象保留所有权。
setRootViewController
将 View 设置为仅窗口 View 或主视图查看,如果你愿意的话。另外一点是它会删除所有 subview (如果有),而 addSubView 不会这样做。
关于ios - UIWindow 类 : What's the difference between addSubview and setRootViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8123322/
我是一名优秀的程序员,十分优秀!