如何找到子视图的数量?
Posted
技术标签:
【中文标题】如何找到子视图的数量?【英文标题】:How to find number of subviews? 【发布时间】:2014-07-14 15:44:39 【问题描述】:我有一个 Xcode 项目,我在其中拖动了两个视图,它们都继承自类 LabelsView。但是,当我尝试运行代码以找出子视图的数量时,我得到了 4 个。任何人都可以解释为什么会发生这种情况。 代码是
NSLog(@"no. of subviews:%@",[NSString stringWithFormat:@"%d",[self.superview.subviews count]]);
【问题讨论】:
我猜是因为有 4 个子视图。 尝试打印子视图数组并检查其中的内容。 【参考方案1】:您可能会得到一个奇怪的子视图计数,因为您正在访问 self.superview.subviews。您可能只需要 self.subviews。
如果像你说的那样,你只关心 LabelsView 类型的子视图,你可以像这样过滤掉它们:
int labelViewCount = 0;
for(LabelsView *subview in self.subviews)
if([subview isKindOfClass:[LabelsView class]])
labelViewCount++;
NSLOG(@"label count: %d", labelViewCount);
【讨论】:
【参考方案2】:如果你想快速计算所有子视图的数量,你可以直接使用
self.subviews.count
【讨论】:
以上是关于如何找到子视图的数量?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用部分视图列出无限数量的嵌套类别和子类别。(.NET CORE 5.0)
如何找到其乘积可以表示为 2 个随机整数的平方差的连续子序列/子数组的数量?