修改viewWith标记

问题描述:

在我的iPad应用程序中,我有一个UIView与多个子视图,每个子视图具有不同的标记值。 我想要搜索具有特定标签值的子视图。目前我正在使用for()循环来循环查找具有所需标记的特定UIView修改viewWith标记

for (int i=0; i<[[myView subviews] count]; i++) { 

    if ([[[myView subviews] objectAtIndex:1] tag]==1) { 

     //assign that view 

    } 
} 

我只是想知道,是否[myView viewWithTag:1]也用同样的方式来找到特定的标记图及方式更快

不完全一样,viewWithTag使用深度优先搜索来查找子视图。换句话说,它会递归地扫描所有子视图,直到它找到一个UIView且标签等于该参数。

另请参阅Apple official Documentation

它取决于你的代码。假设您动态创建更多数量的子视图(如超过10个),您可以使用您现在写入的内容。假设你知道子视图是什么,或者你创建的子视图数量少(比如小于10),那么你可以使用[myView viewWithTag:1]