【问题标题】:how to keep a uiview above other views如何将uiview保持在其他视图之上
【发布时间】:2011-07-14 09:24:32
【问题描述】:

我有两个视图 (UIView) 设置:父视图和子视图。根据需要,子视图显示在父视图的顶部。但是,我现在需要添加子视图,因为我希望显示在子视图下方,但在父视图上方。在添加新子视图时保持第一个子视图位于顶部的简单方法是什么?我想保持新添加的子视图显示顺序匹配插入顺序。

【问题讨论】:

  • 检查this问题。

标签: iphone uiview subview


【解决方案1】:

我建议为addSubview 创建包装方法。像这样的:

- (void)insertSubviewBetweenParentAndChild:(UIView *)newChild {
    [self insertSubview:newChild aboveSubview:parentView];
}

【讨论】:

    【解决方案2】:

    使用以下任一UIView 方法来控制深度。

    – bringSubviewToFront:
    – sendSubviewToBack:
    – insertSubview:atIndex:
    – insertSubview:aboveSubview:
    – insertSubview:belowSubview:
    

    这取自 View Hierarchies and Subview Management 部分中的 View Programming Guide 文档,

    每个超级视图将其子视图存储在有序数组中,并且该数组中的顺序也会影响每个子视图的可见性。如果两个同级子视图相互重叠,则最后添加的(或移动到子视图数组末尾的)出现在另一个之上。

    【讨论】:

      猜你喜欢
      • 2012-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-13
      • 1970-01-01
      • 1970-01-01
      • 2014-07-06
      相关资源
      最近更新 更多