iOS 字符串指定字符改变颜色

2018-02-24  本文已影响5人  huicuihui

需要实现一个功能:搜索到的所有数据中包含搜索的关键字的情况需要颜色变为特定颜色。

/**
 设置特定文字的颜色

 @param color 搜索到的文字显示的颜色
 @param label 显示所有文字的控件
 @param font 搜索到的文字显示的大小
 @param text 搜索到的文字
 */
-(void)setColor:(UIColor *)color
          label:(UILabel *)label
           font:(UIFont *)font
           text:(NSString *)text
{
    NSRange range = [label.text rangeOfString:text];
    
    NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:label.text];
    //设置字号
    [str addAttribute:NSFontAttributeName value:font range:range];
    //设置文字颜色
    [str addAttribute:NSForegroundColorAttributeName value:color range:range];
    
    label.attributedText = str;
}

方法的调用:

        textLabel.text = [NSString stringWithFormat:@"%@\n包含 %@",self.leibieArr[indexPath.row].zilei,self.searchStr];
        [self setColor:kThemeColor label:textLabel font:[UIFont systemFontOfSize:14] text:self.searchStr];
上一篇下一篇

猜你喜欢

热点阅读