您的位置:首页 > 其它

富文本字符串颜色改变效果

2016-05-17 16:51 423 查看
本文的目的在于将每天开发中用到的小技巧记录下来,方便自己和大家查看。

我这里主要讲解的是通过代码动态的改变搜索时的文字显示状态,主要步骤:

1.获取源字符串 :originalString

2.实现下面的方法

//改变匹配字符串的字体颜色
- (NSMutableAttributedString *)changeAttributeStringWithOriginalString:(NSString *)originalString
{

    

    NSMutableAttributedString *attriString = [[NSMutableAttributedString
alloc]initWithString:originalString];

    

    //检测输入的内容 
在originalString的位置
   
NSRange range = [originalString
rangeOfString:customSearchController.searchBar.text];

    

    NSLog(@"range = %d  length = %d",range.location,range.length);

    

    //把筛选的字体颜色变为蓝色 
注意kCTForegroundColorAttributeName已经不再使用 
而用NSForegroundColorAttributeName代替

    [attriString addAttribute:(NSString *)NSForegroundColorAttributeName
                       
value:(id)[UIColor
colorWithRed:0.0
green:185.0/255
blue:230.0/255
alpha:1.0]
                       
range:range];

    
   
return attriString;
}
PS:customSearchController.searchBar.text
:是UISearchController输入的内容。
PS:特别需要注意这句“把筛选的字体颜色变为蓝色  注意kCTForegroundColorAttributeName已经不再使用  而用NSForegroundColorAttributeName代替”,因为很多时候没处理好,会奔溃程序。
3.调用该方法即可达到效果

好了,以上就是这篇文章的内容,核心就是如何利用富文本改变我们搜索时的匹配字体颜色,方便用户识别。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息