如何将uiview保持在其他视图之上

时间:2011-03-13 09:08:39

标签: iphone uiview subview

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

2 个答案:

答案 0 :(得分:10)

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

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

这取自“查看层次结构和子视图管理”部分中的View Programming Guide文档,

每个superview将其子视图存储在有序数组中,该数组中的顺序也会影响每个子视图的可见性。如果两个兄弟子视图相互重叠,则最后添加的子视图(或移动到子视图数组的末尾)将显示在另一个子视图的顶部。

答案 1 :(得分:1)

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

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