需要实现一个功能:搜索到的所有数据中包含搜索的关键字的情况需要颜色变为特定颜色。
/**
设置特定文字的颜色
@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];
网友评论