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

viewWithTag:的使用

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

对于 viewWithTag获取对应的控件的学习总结_第1张图片
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规则详解

你可能感兴趣的:(对于 viewWithTag获取对应的控件的学习总结)