- 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/
在我的应用程序中,我根据用户操作以编程方式更改 Root View Controller ,例如登录/注销功能。 在 iOS 8 中 - 我注意到一个奇怪的问题。即使在窗口上设置了 rootViewC
我正在开发一个通用的应用程序。在 iphone 版本中,我使用标准的 UINavigationController 堆栈进行导航,一切都很好。然而,在 ipad 版本中,我对所有内容都使用 UISpl
我正在为 iPhone 做一个计算器,当设备旋转时,会显示一个新 View ,但我收到以下三个错误: CalculatorAppDelegate.m:21: warning: incompatible
manual ( list 5-2)表示可以像这样将 Split View Controller 添加到 UIWindow 中: [window addSubview:splitVC.view]; 但
我有一个奇怪的问题。每当我的应用程序启动时,我都会在 AppDelegate 中执行以下操作: - (BOOL)application:(UIApplication *)application did
我是用 4.0 sdk 开始 iphone 开发的。我正在尝试使我的应用与 3.2 兼容。我意识到 -[UIWindow setRootViewController:] 被添加到 4.0 版的 sdk
我是一名优秀的程序员,十分优秀!