【问题标题】:What are the disadvantages of adding subview to UIWindow?给 UIWindow 添加 subview 有什么坏处?
【发布时间】:2017-02-20 10:41:09
【问题描述】:

我是 ios 开发新手,实际上我想将 UICollectionView 添加到所有内容的顶部。所以,为此我将它添加到 UIWindow,基本上我想知道将 UICollectionView 添加到 UIWindow 有什么缺点。如果是的话,有没有办法将任何对象添加到所有内容的顶部? 谢谢。

【问题讨论】:

  • 为什么要将它添加到 UIWindow 上,您可以将 collectionView 放在 UIViewController 中并放在视图层次结构的顶部。
  • 我想要整个应用中的集合视图。
  • 除非您需要设备旋转,否则没有缺点。
  • 无法理解您的观点。如果集合是视图,那么用户将如何与其他功能进行交互?如果不涉及其他功能,那为什么不把collectionview放在viewcontroller本身呢?
  • 您可以选择使用bringSubviewToFront 方法,每次您希望collectionview 位于其他所有内容之上。

标签: ios swift uicollectionview uiwindow


【解决方案1】:

通常 UIWindow 的想法是持有 1 个 rootViewController 而不是玩太多,只在需要获取主视图的情况下使用它。

这样做的正确方法是拥有 1 个主 NavigationController 并用您想要的任何类型的顶视图(即侧菜单、各种叠加层等)覆盖它,这样它总是可以从子控制器访问并且您可以在 UIViewController 中使用所有相关的委托方法对其进行完整处理。

【讨论】:

    【解决方案2】:

    除了这通常被认为是不好的做法,UIKit 应该为您提供一种替代方法来避免这种用法,我能想到的最大问题是视图直接添加到UIWindow 做不响应设备方向更改(旋转)事件,并且不会随 UI 的其余部分一起旋转。

    【讨论】:

    • 键盘有自己的窗口。模态框过去也有自己的窗口。
    猜你喜欢
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多