哪个UIView在上面

时间:2012-07-18 12:19:19

标签: objective-c uiview

在我的程序中有一个MainView,在程序中用户可以添加一些subView。 为了处理它们,我想知道现在哪个subView显示在顶层。

注意:除非用户需要,否则我不会删除subView。并且subview s的大小不同,可能有重叠或不重叠。

2 个答案:

答案 0 :(得分:1)

  

子视图

     

接收者的直接子视图。 (只读)

     

@property(非原子,只读,复制)NSArray *子视图

     

您可以使用此属性检索与之关联的子视图   您的自定义视图层次结构。数组中子视图的顺序   在视图0处反映其在屏幕上的可见顺序   是最后面的观点。

来自UIView Class Reference

答案 1 :(得分:0)

UIView声明一个包含其子视图的属性:

@property(nonatomic, readonly, copy) NSArray *subviews

添加子视图时,会将它们添加到该数组中。索引最高的子视图显示在最顶层。

UIView中有许多方法可用于操纵子视图而无需直接使用数组:

– addSubview:
– bringSubviewToFront:
– sendSubviewToBack:
– removeFromSuperview
– insertSubview:atIndex:
– insertSubview:aboveSubview:
– insertSubview:belowSubview:
– exchangeSubviewAtIndex:withSubviewAtIndex:
– isDescendantOfView: