Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIView子视图';点菜?_Ios_Subview_Addsubview_Subviews - Fatal编程技术网

Ios UIView子视图';点菜?

Ios UIView子视图';点菜?,ios,subview,addsubview,subviews,Ios,Subview,Addsubview,Subviews,如果我使用for循环 for(UIView *subview in [myView subviews]) 子视图是按什么顺序产生的 根据他们添加的顺序或其他什么?如文档所述,它反映了他们在屏幕上的可见顺序 @属性(非原子、只读、副本)NSArray*子视图 讨论 可以使用此属性检索与关联的子视图 自定义视图层次结构。阵列中子视图的顺序 反映其在屏幕上的可见顺序,视图的索引为0 是最后面的风景 对于UIKit和其他系统框架中声明的复杂视图,任何 视图的子视图通常被认为是私有的,并且受限制 随时改

如果我使用for循环

for(UIView *subview in [myView subviews])
子视图是按什么顺序产生的


根据他们添加的顺序或其他什么?

如文档所述,它反映了他们在屏幕上的可见顺序

@属性(非原子、只读、副本)NSArray*子视图

讨论

可以使用此属性检索与关联的子视图
自定义视图层次结构。阵列中子视图的顺序 反映其在屏幕上的可见顺序,视图的索引为0 是最后面的风景

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


我发现它很有用,根据我的经验,它按添加顺序放置
子视图。使用
UIScrollView
时要小心使用它们。我偶尔会遇到为滚动条创建的“幻影”
子视图
。您只需要启动,就可以很容易地找到它。但是您也可以检查UIClass,例如如果([subView isKindOfClass:[UILabel class]])//检查subView类是否为UILabel类?{//你可以在这里为你的UILabel编写代码;}@iPatel我不知道这与这个问题有什么关系。@H2CO3-是的,但我只想告诉OP你也可以这样得到它,所以。。我把它也作为评论:)谢谢:)数组中子视图的顺序反映了它们在屏幕上的可见顺序,索引0处的视图是最后面的视图。这就是子视图方法描述。我的英语可能不太好,但什么是“可见顺序”?这算什么?最后面的是什么?从哪边回来最多?这是否意味着子视图添加到superview的顺序?旧问题和注释,但@AndreyChernukha,back表示距离查看器最远的视图,即3D层次结构中堆栈的底部。当您添加视图时,它们会被添加到堆栈的顶部,因此顺序几乎与添加的顺序相同,除了显式的重新排序。@ChrisConover非常感谢,伙计。这是有道理的