在IBOutletCollection中的所有项目上设置文本颜色

时间:2010-12-20 09:01:57

标签: iphone objective-c sdk

我有几个IBOutlet并将它们与IBOutletCollection一起使用:

    @interface IBOutletCollectionViewController : UIViewController {


    IBOutletCollection (UILabel) NSArray *multipleLabels;

}

@property (nonatomic , retain) IBOutletCollection (UILabel) NSArray *multipleLabels;

@end

但是当我想使用UILable属性时,编译器会给出这个错误:

  

请求成员'textColor'   不是结构或联合的东西

我认为这是因为NSArray!那有什么解决方案吗?

1 个答案:

答案 0 :(得分:12)

您可以使用Key-Value Coding在数组中的每个标签实例上设置属性:

[multipleLabels setValue:[UIColor redColor] forKey:@"textColor"];

“IBOutletCollection(UILabel)”可以在iVar声明中省略,只要它在属性声明中使用即可。

另一种选择是在NSArray实例上调用“makeObjectsPerformSelector:”:

[multipleLabels makeObjectsPerformSelector:@selector(setTextColor:) withObject:[UIColor redColor]];