搜索出来的字体添加颜色

在cellForRow 里面

        //先区分是中文还是英文

        if ([_searchText isChinese]) {

            NSRange  range = [modelTemp.uName rangeOfString:_searchText];

            if (range.location != NSNotFound) {

                NSMutableAttributedString *str = [[NSMutableAttributedString allocinitWithString:modelTemp.uName];

                [str addAttribute:NSForegroundColorAttributeName value:[UIColor blueColorrange:NSMakeRange(range.location,range.length)];

                cell.textLabel.attributedText = str;

            }

        }else{

            NSMutableAttributedString *str = [[NSMutableAttributedString allocinitWithString:modelTemp.uName];

            for (int i=0;i<modelTemp.uName.length; i++) {

                //英文下要把每一个字都截取出来转化为拼音进行比较

                NSString *str1 = [modelTemp.uName substringToIndex:i+1];

                NSString *str2=  [str1 substringFromIndex:i];

                NSString *unitsName = [EaseChineseToPinyin pinyinFromChineseString:str2];

                NSString *searchStr = [EaseChineseToPinyin pinyinFromChineseString:_searchText];

                if ([unitsName rangeOfString:searchStr].location != NSNotFound) {

                    NSRange  range = [modelTemp.uName rangeOfString:str2];

                    [str addAttribute:NSForegroundColorAttributeName value:[UIColor blueColorrange:NSMakeRange(range.location,range.length)];

                    cell.textLabel.attributedText = str;

                }

            }

        }

第二:搜索的刷新方法里面

- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString{

    if (searchString.length > 0 ) {

        _searchText = searchString;

        [self.temporyArray removeAllObjects];

        if ([searchString isChinese]) {

            for (BDUnitsListModel *model in self.dataArray) {

                if ([model.uName rangeOfString:searchString].location != NSNotFound) {

                    if (![self.temporyArray containsObject:model]) {

                        [self.temporyArray addObject:model];

                    }

                }

            }

        }else{

            for (BDUnitsListModel *model in self.dataArray) {

                for (int i=0;i<model.uName.length; i++) {

                    NSString *str1 = [model.uName substringToIndex:i+1];

                    NSString *str2=  [str1 substringFromIndex:i];

                    NSString *unitsName = [EaseChineseToPinyin pinyinFromChineseString:str2];

                    NSString *searchStr = [EaseChineseToPinyinpinyinFromChineseString:searchString];

                    if ([unitsName rangeOfString:searchStr].location != NSNotFound) {

                        if (![self.temporyArray containsObject:model]) {

                            [self.temporyArray addObject:model];

                        }

                        

                    }

                }

            }

        }

        [self.table xsq_reloadData:NO];

    }

    

    return YES;

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值