在另一个类中更新NSMutableAttributedString

时间:2014-06-02 21:18:44

标签: ios nsmutableattributedstring

我有一个带有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];

0 个答案:

没有答案