我有一个 UIButton 类,其标题为 NSMutableAttributedString(用于格式化)。我现在想从我的 vc 类中更改按钮文本的 titleColor,因为它已被“选中”。
我可以把它作为一个普通的按钮标题来做。但作为 NSMutableAttributedString - 没有骰子。
一些问题/建议:由于自定义类视图已经是一个按钮 - 我的颜色更新是否应该发生在该类中 - 而不是来自 vc?只是告诉它在自定义类中更新和烘焙颜色?
我是否公开按钮标题的 NSMutableAttributedString 属性,以便我可以从我的 VC 访问并更改颜色?这样我也可以传入新文本和新颜色。
在我的 CircleButton m 文件中
NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
[style setAlignment:NSTextAlignmentCenter];
[style setLineBreakMode:NSLineBreakByWordWrapping];
UIFont *font1 = [UIFont fontWithName:@"Futura" size:20.0f];
NSDictionary *dict1 = @{NSUnderlineStyleAttributeName:@(NSUnderlineStyleNone),
NSFontAttributeName:font1,
NSForegroundColorAttributeName:textClr,
NSParagraphStyleAttributeName:style};
attributedTText = [[NSAttributedString alloc] initWithString:btnTxt attributes:dict1];
[[button titleLabel] setNumberOfLines:0];
[[button titleLabel] setLineBreakMode:NSLineBreakByWordWrapping];
[button setAttributedTitle:attributedTText forState:UIControlStateNormal];
[button setTitleColor:textClr forState:UIControlStateNormal];