ios - 如何找到 subview 的数量?

标签 ios objective-c uiview subview

我有一个 Xcode 项目,我在其中拖了两个 View ,它们都继承自 LabelsView 类。但是,当我尝试运行代码以找出 subview 的数量时,我得到 4。谁能解释为什么会这样。 代码是

NSLog(@"no. of subviews:%@",[NSString stringWithFormat:@"%d",[self.superview.subviews count]]);

最佳答案

您可能会得到一个奇怪的 subview 计数,因为您正在访问 self.superview.subviews。您可能只想要 self.subviews。

如果像您所说的那样,您只关心 LabelsView 类型的 subview ,则可以像这样过滤掉它们:

int labelViewCount = 0;
for(LabelsView *subview in self.subviews) {

    if([subview isKindOfClass:[LabelsView class]]) {
         labelViewCount++;
    }
}
NSLOG(@"label count: %d", labelViewCount);

关于ios - 如何找到 subview 的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24740458/

相关文章:

ios - 属性 'self.menuViewController' 未在 super.init 调用时初始化

ios - PushViewController 在解雇 ViewController 后不会推送

ios - 用适当的 NSArray 值更新我的 NSString 的最佳方法是什么

iphone - 如何在纵向模式应用程序中滑入 UIView?

objective-c - Xcode 预处理器输出

ios - 如何对 UIView 应用模糊?

iphone - 旋转 UIView iPhone

ios - 根据长度+字符串范围裁剪NSString

ios - 带颜色的 SKSpriteNode 不显示

iphone - UISearchDisplayController 不显示任何单元格