对于 viewWithTag获取对应的控件的学习总结

viewWithTag:的使用

viewWithTag是如何获取到对应的subView的呢?

1.png

如图在view 上有按照代码顺序依次添加两个subView:subView1subView2

subView1上有按照代码顺序依次添加三个:subView1_1subView1_2subView1_3

subView2上有一个:subView2_1

subView1_1.tag = 11;

subView1_2.tag = 11;

当我们使用viewWithTag获取tag=11的控件的时候,获取到的是 subView1_1

subView1_3.tag = 13;

subView2.tag = 13;

当我们使用viewWithTag获取tag=13的控件的时候,获取到的是 subView1_3

总结:
(1)同一层级下根据 viewWithTag 获取 subView 的时候,是通过下标 index从小到大的顺序查找的,也就是位于下层的将首先被找到,及先被添加到 view 上的(addSubView:)的先被查到,下层优先原则。
(2)对于不同层级的 subView,viewWithTag 获取的时候是遵循深度优先的原则,首先会查找最下层的subView并且递归查询其subViews。

参考文章

iOS开发笔记--viewWithTag获取subview规则详解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容