0
我有一個Xcode項目,在其中我拖動了兩個視圖,它們都從一個類LabelsView繼承。但是,當我嘗試運行代碼來查找子視圖的數量時,我得到了4.任何人都可以解釋爲什麼會發生這種情況。 代碼是如何查找子視圖數量?
NSLog(@"no. of subviews:%@",[NSString stringWithFormat:@"%d",[self.superview.subviews count]]);
我有一個Xcode項目,在其中我拖動了兩個視圖,它們都從一個類LabelsView繼承。但是,當我嘗試運行代碼來查找子視圖的數量時,我得到了4.任何人都可以解釋爲什麼會發生這種情況。 代碼是如何查找子視圖數量?
NSLog(@"no. of subviews:%@",[NSString stringWithFormat:@"%d",[self.superview.subviews count]]);
你可能得到一個奇怪的子視圖數,因爲你所訪問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);
我想這是因爲有4子視圖。 –
嘗試打印子視圖數組並檢查內容。 – BergQuester