viewWithTag

方法概述:

一般在一个View下想调用其下多个子View时,为了方便可以通过给每个子View标记tag然后使用viewWithTag:方法直接调用。

关于这个方法在使用中发现两个小Tips:

  • viewWithTag: 检索tag的方法问题
    viewWithTag: 方法会对当前View和其子View进行搜索,查找符合tag的对象,但如果view和其多个子view中都含有相同tag值对象时,该方法会搜出哪一个呢?通过查找实验发现,ViewWithTag: 遵循深度优先,下层优先两个原则,返回第一个和给定tag相等的subview。这就导致了一个当一个view的多个subview的tag相同的时候,我们通过该方法得到的view可能并不是自己想要的。

  • 给View设置的tag数不要太小
    对于tag值苹果0-100留为自己使用。正如当使用 [self viewWithTag:0] 取View时得到的是View本身,因为tag值为0被苹果保留给自己View了。所以在设置子view的Tag值时,需要注意不要使用数值较小的Tag值,使用时建议加一个定值,可以有效避免因为tag值太小,而取到系统保留的view

你可能感兴趣的:(viewWithTag)