如果我使用for循环;
for(UIView *subview in [myView subviews])
子视图的顺序是如何确定的?
根据它们添加的顺序还是其他什么?
如果我使用for循环;
for(UIView *subview in [myView subviews])
子视图的顺序是如何确定的?
根据它们添加的顺序还是其他什么?
正如文档所述,它反映了它们在屏幕上的可见顺序。
@property(nonatomic, readonly, copy) NSArray *subviews
讨论
您可以使用此属性检索与自定义视图层次结构相关联的子视图。数组中子视图的顺序反映了它们在屏幕上的可见顺序,索引为0的视图是最后面的视图。
对于在UIKit和其他系统框架中声明的复杂视图,视图的任何子视图通常被认为是私有的,并且随时可能发生更改。因此,您不应尝试检索或修改这些类型的系统提供的视图的子视图。如果这样做,您的代码可能在将来的系统更新期间出现故障。
subviews
。但使用UIScrollView
时要小心。我偶尔会遇到为滚动条创建的“幻影”subviews
。