如果我使用 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
为滚动条创建的“幻影”