manual( list 5-2)表示可以像这样将拆分 View Controller 添加到 UIWindow:

[window addSubview:splitVC.view];

但是,在示例代码中,我看到以下内容运行良好。
[window setRootViewController:splitVC];

这些有什么区别?

最佳答案

在这种情况下,它们都做同样的事情,但 addSubviewsetRootViewController 之间存在差异。 addSubViewUIView 的一个方法,而 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/

    10-13 03:51