我有一个带有NSMutableAttributedString的UIButton类作为标题(用于格式化)。 我现在想从我的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];