我知道这是个老问题,但我使用解决方案为 IBOutletCollection(UIButton); 设置 textColor; 和将文本设置为按钮类似;
正如 John Dalton 提到的,按钮属性是只读的,因此无法使用 KVC;但是如果您按类别为 UIButton 定义一个新属性,然后通过 KVC 添加文本(在我的情况下为文本颜色),这是可能的;
添加新文件-> 选择 Objective-c 文件
名称:物业(由您选择)
文件类型:类别
类:UIButton
将创建两个名为 UIButton+Property.h/.m的文件
。H
@interface UIButton (Property)
@property (nonatomic, retain) UIColor *textColor;
- (void)setTextColor:(UIColor *)textColor;
@end
.m
#import "UIButton+Property.h"
@implementation UIButton (Property)
- (void)setTextColor:(UIColor *)textColor {
[self setTitleColor:textColor forState:UIControlStateNormal];
}
- (UIColor *)textColor {
return self.textColor;
}
@end
在班上:
@property (strong, nonatomic) IBOutletCollection(UILabel) NSArray *preLoginLbls;
. . .
[_preLoginBtns setValue:TEXT_COLOR forKey:@"textColor"];