多个关键字高亮
来源:互联网 发布:mac pro 13高清壁纸 编辑:程序博客网 时间:2024/04/26 18:20
项目地址:iOS 关键词高亮显示
在做搜索时,经常用到关键字高亮。以下是我的项目用到的关键字高亮。
1 //关键字数组 关键字颜色
[lb setAttributedText:text withRegularPattern:[text regularPattern:keyArr] attributes:@{ NSForegroundColorAttributeName : [UIColor redColor]}];
2
/**
关键字 正则判断
*/
-(NSString *)regularPattern:(NSArray *)keys{
NSMutableString *pattern = [[NSMutableString alloc]initWithString:@"(?i)"];
for (NSString *key in keys) {
[pattern appendFormat:@"%@|",key];
}
return pattern;
}
3
/**
关键字高亮设置
*/
- (void)setAttributedText:(NSString *)text
withRegularExpression:(NSRegularExpression *)expression
attributes:(NSDictionary *)attributesDict
{
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:text];
[expression enumerateMatchesInString:text
options:0
range:NSMakeRange(0, [text length])
usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
NSRange matchRange = [result range];
if (attributesDict) {
[attributedString addAttributes:attributesDict range:matchRange];
}
if ([result resultType] == NSTextCheckingTypeLink) {
NSURL *url = [result URL];
[attributedString addAttribute:NSLinkAttributeName value:url range:matchRange];
}
}];
[self setAttributedText:attributedString];
}
本文出自 “iOS悠悠Bug记” 博客,请务必保留此出处http://ios2013yoyo.blog.51cto.com/6260005/1543550
- 多个关键字高亮
- 多个关键字高亮
- 在字符串中标记(高亮)多个关键字
- UE 高亮 一个或多个关键字的方法
- label 富文本编辑 多个关键字高亮 (一些特殊的字符有可能匹配不到 如:*)
- lucene高亮关键字
- lucene 关键字高亮
- ASP高亮关键字
- 高亮显示关键字
- 高亮显示关键字
- Java高亮关键字
- 高亮显示关键字
- 高亮显示关键字
- jquery高亮关键字
- vim高亮关键字
- 关键字高亮显示
- 关键字高亮显示
- qt关键字高亮
- iOS支付宝报错 rsa_private read error : private key is NULL
- 苹果加急审核详细步骤
- iOS证书共享
- iOS7新特性总结
- 2015年6月25日开通了CSDN博客,希望以后的路能走好
- 多个关键字高亮
- textfield限制字数(兼容中文,复制,删除)iOS
- coredata基础用法1(附coredata demo)
- coreData 2之Magical Record安装
- 深入浅出之MagicalReord(1)
- iOS md5 32位加密(区分大小写)
- 缓冲加载图片的jQuery插件lazyload.js 真正省资源用法
- 即时通讯1- 用GCDAsyncSocket解决读取数据丢失
- 大数据和云计算