gpt4 book ai didi

iphone - 在 iOS 上,有没有办法只搜索带有特定标签的 subview ?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:53:33 25 4
gpt4 key购买 nike

因为现在,viewWithTag 实际上首先搜索自己,然后所有 subview 递归地向下搜索整个子树,以查找具有该标签的 View 。

但是,如果我将 subview 的标签设置为 100、101 等,然后查找标签 100,但是当前 View 的父 View 将当前 View 的标签设置为 100 怎么办?然后 viewWithTag 将返回当前 View 而不是任何 subview 。

也奇怪,如果代码是

[fooView viewWithTag: 123]

为什么代码要搜索包含 fooView 本身的子树?就像,代码对 fooView 的了解不够好,以至于也想搜索它。或者换句话说,fooView 被告知要自行搜索……这很奇怪。 View 不了解自己? (需要做一个搜索来寻找自己?)

那么有没有办法只搜索 subview 和大 subview (而不搜索自身)?

最佳答案

利用 -viewWithTag: 的递归特性

- (UIView *)viewWithTagNotCountingSelf:(NSInteger)tag
{
UIView *toReturn = nil;

for (UIView *subView in self.subviews) {
toReturn = [subView viewWithTag:tag];

if (toReturn) {
break;
}
}
return toReturn;
}

编辑:这将比“大 subview ”更深入:它将获得层次结构中不是自身的任何 View 。这也将在 UIView 的类别中实现。

关于iphone - 在 iOS 上,有没有办法只搜索带有特定标签的 subview ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12225184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com