【问题标题】:subview vs child view controller z position子视图与子视图控制器 z 位置
【发布时间】:2018-01-18 09:19:16
【问题描述】:

我只是想确定一下:

我有主视图控制器(uiviewcontroller) 然后我有覆盖它的子视图控制器(uiviewcontroller) 然后我将子视图(uiview)添加到具有相同大小的主视图控制器。

如果我按照这个顺序做, 用户会在顶部看到什么?子视图(uiview)还是子视图控制器(uiviewcontroller)?

我测试了一下,让子视图在上面的唯一方法就是添加它 到子视图控制器(uiviewcontroller)。

视图层次结构应该是这样的吗?或者我的测试是错误的(可以)

编辑: 我只想使用 addSubView 来了解默认行为是什么。

编辑 2: 在视图调试器上我可以看到顶部的子视图 但与设备无关。

【问题讨论】:

    标签: ios uiview uiviewcontroller


    【解决方案1】:

    试试这个

    self.view.insertSubview(VC1.view, belowSubview: thatview)
    

    【讨论】:

      【解决方案2】:

      顶视图将是最后添加到子视图层次结构中的视图。

      如果您想将子视图置于顶部,您可以使用以下代码

      mainViewController.view.bringSubview(toFront: subView)
      

      您不需要将其添加到子视图控制器中

      【讨论】:

      • 问题是:按这个顺序只使用 addSubView。什么是顶视图?子视图(uiview)或子视图控制器(uiviewcontroller)
      • 最后添加为子视图的视图
      • 视图调试器显示该视图,设备不显示。很奇怪。
      【解决方案3】:

      发现错误。

      其他视图有bringSubViewToFront / layer.zPosition, 其中一些在 viewDidLayoutSubview 中,在我禁用此代码后,一切正常

      让我感到困惑的是视图调试器在顶部显示视图, 但在设备上它被隐藏了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-05
        • 2020-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多