0

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

0 回答 0