代码如下
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *messageIdentifier = @"messageIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:messageIdentifier];
if(!cell){
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:messageIdentifier];
}
NSMutableArray *goodsArray = [NSMutableArray array];
goodsArray = [self.showDic objectForKey:[[self returnArrayWithDic:self.showDic] objectAtIndex:indexPath.section]];
NSString *text = [goodsArray objectAtIndex:indexPath.row];
NSMutableAttributedString *noteStr = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@", text]];
NSRange grayRange = NSMakeRange([[noteStr string] rangeOfString:text].location, [[noteStr string] rangeOfString:text].length);
[noteStr addAttribute:NSForegroundColorAttributeName value:kColor(68, 68, 68) range:grayRange];
NSRange orangeRange = NSMakeRange([[noteStr string] rangeOfString:[NSString stringWithFormat:@"%@", self.searchText]].location, [[noteStr string] rangeOfString:[NSString stringWithFormat:@"%@", self.searchText]].length);
[noteStr addAttribute:NSForegroundColorAttributeName value:kColor(0, 140, 238) range:orangeRange];
[cell.textLabel setAttributedText:noteStr];
return cell;
}self.showDic为数据源
self.searchText为搜索的文字
本文介绍了一种在iOS应用中使用UITableView显示数据,并实现单元格内搜索文字高亮的方法。通过自定义UITableViewCell,利用NSAttributedString来区分显示普通文本与搜索关键词,实现了良好的视觉效果。
1038

被折叠的 条评论
为什么被折叠?



