修改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
且标签等于该参数。
答
它取决于你的代码。假设您动态创建更多数量的子视图(如超过10个),您可以使用您现在写入的内容。假设你知道子视图是什么,或者你创建的子视图数量少(比如小于10),那么你可以使用[myView viewWithTag:1]
。