局部更改Label上面的text的字体和颜色

根据需求做了简单的封装 代码如下:


/**
 *  设置label上面的局部text的字体大小和字体颜色
 *
 *  @param label 需要改变text的label
 *  @param loc   需要改变的text位置
 *  @param font  text的字体
 *  @param color text的颜色
 */
- (void)changeColorWithText:(UILabel *)label startRange:(NSRange)start textFont:(NSInteger)font textColor:(UIColor *)color{
    
    NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:label.text];
    
    //设置颜色
    [attributedString addAttribute:NSForegroundColorAttributeName value:color range:NSMakeRange(start.location, start.length)]; // 0为起始位置 length是从起始位置开始 设置指定颜色的长度
    
    //设置尺寸
    
    [attributedString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:font] range:NSMakeRange(0, 2)]; // 0为起始位置 length是从起始位置开始 设置指定字体尺寸的长度
    
    
    label.attributedText = attributedString;
    //这段代码必须要写 否则没效果
}

你可能感兴趣的:(局部更改Label上面的text的字体和颜色)