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

来源:互联网 发布:linux 挂载分区成功 编辑:程序博客网 时间:2024/05/21 22:58

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

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

1.获取源字符串 :originalString

2.实现下面的方法

//改变匹配字符串的字体颜色

- (NSMutableAttributedString *)changeAttributeStringWithOriginalString:(NSString *)originalString

{

    

    NSMutableAttributedString *attriString = [[NSMutableAttributedStringalloc]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)[UIColorcolorWithRed:0.0green:185.0/255blue:230.0/255alpha:1.0]

                       range:range];

    

   return attriString;

}

PS:customSearchController.searchBar.text :是UISearchController输入的内容。

PS:特别需要注意这句“把筛选的字体颜色变为蓝色  注意kCTForegroundColorAttributeName已经不再使用  而用NSForegroundColorAttributeName代替”,因为很多时候没处理好,会奔溃程序。

3.调用该方法即可达到效果


好了,以上就是这篇文章的内容,核心就是如何利用富文本改变我们搜索时的匹配字体颜色,方便用户识别。


0 0
原创粉丝点击