如何查找子视图的数量?

时间:2014-07-14 15:44:39

标签: ios objective-c uiview subview

我有一个Xcode项目,在其中我拖动了两个视图,它们都继承自LabelsView类。但是,当我尝试运行代码以查找子视图的数量时,我得到4.有人可以解释为什么会发生这种情况。 代码是

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

2 个答案:

答案 0 :(得分:2)

你可能会得到一个奇怪的子视图,因为你正在访问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);

答案 1 :(得分:0)

如果你想快速查看所有子视图的数量,你可以使用

import imaplib

username = 'me@example.com'
password = 'password'
mail_server = 'mail.example.com'
imap_server = imaplib.IMAP4_SSL(host=mail_server)
imap_server.login(username, password)