如何在IBOutletCollection中隐藏一堆标签



Objective-C和iOS开发的新手,希望在这里帮忙!

我已经写了一些代码,这样

IBOutletCollection(UILabel) NSArray *allLabels;

在 IB 中,我已经将我视图中的所有标签链接到这个集合,我想在特定条件下隐藏它们。但是,我不知道该怎么做。显然是为了隐藏我会使用的单个标签

labelX.hidden = YES;

但是,在没有集合的情况下执行此操作对我来说并不理想,因为我有很多标签要隐藏。

提前感谢您的提示!

试试这个...

[allLabels setValue:@(YES) forKey:@"hidden"];

只需枚举集合并对内容执行任何操作:

[allLabels enumerateIndexesUsingBlock:^(UILabel *label, NSUInteger idx, BOOL *stop) {
    label.hidden = YES;
}];

Swift 版本 for Array type:

(allLabels as NSArray).setValue(NSNumber(bool: true), forKey: "hidden")

最新更新