【问题标题】:How to bring subView to top from superview of its superview如何将子视图从其父视图的父视图置于顶部
【发布时间】:2013-09-25 06:45:29
【问题描述】:

我有一个视图层次结构,即视图 1 --> 视图 2 --> 视图 3。因此,视图 3 是视图 2 的子视图,它是视图 1 的子视图。现在,从视图 1,我想带来视图3 到前面,而不将视图 2 放在前面。由于视图 2 中的相对定位,我无法在窗口中添加视图 3。

有什么想法吗?

【问题讨论】:

    标签: iphone ios objective-c cocoa-touch uiview


    【解决方案1】:

    不,你不能。除非 view3 应该从视图 2 中删除并添加到视图 1,然后使用 bringSubviewToFront: 方法使其位于前面。

    【讨论】:

    • 这是有效的。这里唯一缺少的是,您需要更改视图 3 相对于视图 1 坐标的中心。
    • 当然,当您将作为子视图添加到新视图框架时,对于新的父视图而言,变化是显而易见的。
    【解决方案2】:

    Move a view to a new superview without flickering,你可以将相对框架转换为窗口,然后将视图添加到窗口,这将使视图3保持在其原始框架上

    【讨论】:

      【解决方案3】:

      你可以试试这个代码..

      [self.view bringSubviewToFront:yourview];
      

      【讨论】:

      • 这不起作用,因为 view3 不是 view1 的直接子视图。
      【解决方案4】:

      不访问view2就不能直接访问view3。

      试试这个:

      [view2 bringSubviewToFront:view3];
      [view1 bringSubviewToFront:view2];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-08
        • 2016-08-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多