【问题标题】:Overlapping UIViews重叠的 UIView
【发布时间】:2011-03-28 19:39:51
【问题描述】:

我有 4 个 UIView(每个在屏幕上都有一个可见部分),我希望它们是可拖动的。 我添加它们就像控制器上的任何其他视图一样

addSubview:dragViewTop
addSubview:dragViewBottom
addSubview:dragViewRight
addSubview:dragViewLeft

我的问题是,如果我将一个视图拖到另一个视图之上,即使我将其更改为layer.zPosition,我也可以拖拽一个应该在下面的视图。 该行为是由添加视图的顺序给出的(我认为,不确定)。

我希望我拖动的视图保持在顶部。有任何想法吗? 我希望我说清楚了。

【问题讨论】:

    标签: iphone uiview draggable


    【解决方案1】:

    您需要使用这些视图的超级视图来处理视图的顺序,而不是它们层的 zPosition 属性。

    使用superview的以下方法来安排subviews的深度。不过,您可能只需要第一种方法。

    - (void)bringSubviewToFront(UIView *)view
    - (void)sendSubviewToBack(UIView *)view
    - (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2
    

    【讨论】:

      【解决方案2】:

      view 置顶:

      [view.superview bringSubviewToFront:view];
      

      (注意:这是view.superview的子视图的前面所以在父视图前面的视图将保持在前面)

      【讨论】:

        猜你喜欢
        • 2022-11-10
        • 2014-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-07
        • 2012-02-17
        相关资源
        最近更新 更多