4

如果我使用 for 循环;

for(UIView *subview in [myView subviews])

子视图按什么顺序被引入?

根据他们添加的顺序还是其他?

4

2 回答 2

8

正如文档所说,它反映了它们在屏幕上的可见顺序。

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

讨论

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

对于在 UIKit 和其他系统框架中声明的复杂视图,视图的任何子视图通常被认为是私有的并且随时可能更改。因此,您不应尝试检索或修改这些类型的系统提供的视图的子视图。如果这样做,您的代码可能会在未来的系统更新期间中断。

于 2013-09-05T13:07:47.823 回答
1

我发现它很有用,并且根据我的经验,它subviews按添加顺序排列。使用时请小心使用它们UIScrollView。我偶尔会遇到subviews为滚动条创建的“幻影”

于 2014-06-04T12:43:45.767 回答