突出显示在iOS中搜索文本

use*_*370 2 objective-c uitextview ios

我有一个gridview包含TextView.还有一个搜索栏.当我输入任何要搜索的内容时,搜索文本应该TextView与in Xcode或者浏览器一样突出显示.

我该如何实现此功能?

nzs*_*nzs 8

我测试了以下代码,它突出显示了UITextView中的特定字符串:

-(void) highlightText:(NSString *)srcTxt {
    int srcTxtLen = srcTxt.length;
    int idx = 0;
    while (idx<(self.txtView.text.length-srcTxtLen)) {
        NSRange srcRange = NSMakeRange(idx, srcTxtLen);
        if ([[self.txtView.text substringWithRange:srcRange] isEqualToString:srcTxt]) {
            NSMutableAttributedString *tmpAttrTxt = [[NSMutableAttributedString alloc] initWithAttributedString:self.txtView.attributedText];
            [tmpAttrTxt addAttribute:NSBackgroundColorAttributeName value:[UIColor yellowColor] range:srcRange];
            self.txtView.attributedText = tmpAttrTxt;
            idx += srcTxtLen;
        } else {
            idx++;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

希望它能帮到你.当然,它可以根据您的特定需求进行优化和/或定制.