你的位置:首页 > 操作系统

[操作系统]修改UILabel字体


- (void)text:(NSString *)str color:(UIColor *)color font:(UIFont *)font

{

    if (!str)

        str = self.text;

    if (!color)

        color = self.textColor;

    if (!font)

        font = self.font;

    [self.attributeString setAttributes:@{NSForegroundColorAttributeName:color,

                                     NSFontAttributeName:font}

                             range:[self.text rangeOfString:str]];

}

 

- (void)changeColor

{

    self.attributedText = self.attributeString;

}

 

- (NSMutableAttributedString *)attributeString

{

    NSMutableAttributedString *attributeString = objc_getAssociatedObject(self, _cmd);

    if (attributeString && [attributeString.string isEqualToString:self.text]) {

        return attributeString;

    }

    attributeString = [[NSMutableAttributedString alloc] initWithString:self.text];

    objc_setAssociatedObject(self, _cmd, attributeString, OBJC_ASSOCIATION_RETAIN_NONATOMIC);

    return attributeString;

}