iOS 关于关键字高亮

- (NSMutableAttributedString *)colorStr: (NSString *)originalStr   // originalStr : 需要高亮传入的字符串

{

NSMutableAttributedString *dataStr = [[[NSMutableAttributedString alloc] initWithString:originalStr] autorelease];

for (int i = 0; i < originalStr.length - self.searchText.length + 1; i++) {

if ([[originalStr substringWithRange:NSMakeRange(i, self.searchText.length)] isEqualToString:self.searchText ]) {

NSRange range = NSMakeRange(i, self.searchText.length);

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

}

}

return dataStr;

}

时间: 2024-08-08 05:37:26

iOS 关于关键字高亮的相关文章

多个关键字高亮

项目地址:iOS 关键词高亮显示 在做搜索时,经常用到关键字高亮.以下是我的项目用到的关键字高亮. 1 //关键字数组 关键字颜色 [lb setAttributedText:text withRegularPattern:[text regularPattern:keyArr] attributes:@{ NSForegroundColorAttributeName : [UIColor redColor]}]; 2 /** 关键字 正则判断 */ -(NSString *)regularPa

ios: WebView内高亮搜索

由于webview 加载的是网页 只能用js 进行页内查找  废话不说上代码 // 注入 JS 查找 NSString *resPath = [[NSBundle mainBundle] resourcePath]; static NSString *jsQuery = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ jsQuery = [NSString stringWithContentsOfFile:[

Lucene系列:(7)搜索关键字高亮

在搜索结果中,将与关健字相同的字符用红色显示 TestHighlighter.java package com.rk.lucene.d_highlighter; import java.util.ArrayList; import java.util.List; import org.apache.lucene.document.Document; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.query

IOS_SearchBar搜索栏及关键字高亮

搜索框的效果演示: 这个就是所谓的搜索框了,那么接下来我们看看如何使用代码来实现这个功能. 我所使用的数据是英雄联盟的英雄名单,是一个JSON数据的txt文件, JSON数据的处理代码如下所示: ? 1 2 3 4 5 6 //获取文件的路径path NSString *path = [[NSBundle mainBundle] pathForResource:@"heros" ofType:@"txt"]; //将路径下的文件转换成NSData数据 NSData

在 Angular 中实现搜索关键字高亮

在 Angular 中,我们不应该试图直接修改 DOM 的内容,当需要更新 DOM 内容的时候,应该修改的其实是我们的数据模型,也就是 $scope 中的数据,Angular 会帮助我们将修改之后的数据展示在页面中. 但是,在有些情况下,比如我们有一个搜索框,希望将搜索的关键字在正文中高亮出来,这时候就会感觉比较吃力了,filter 可以帮助我们处理这种情况. 实际上,很多时候,我们的数据是不能直接输出到 DOM 中的,典型的比如日期,或者货币等等,通常需要将我们内部的数据格式化之后,再输出到页

label中的关键字高亮

一 .在初始化方法中把所有需要高亮关键字的label加入到labels数组中,并且把这些label原来字体的颜色加入到 labelTextColors中 ,代码如下 self.labels = [NSArray arrayWithObjects:self.textLabel,self.detailTextLabel, nil]; self.labelTextColors = [NSArray arrayWithObjects:kColor_Black,kColor_LightGray, nil]

iOS 9 关键字的简单使用

前言: 在iOS 9 苹果推出了很多关键字, 目的其实很明确, 主要就是提高开发人员的效率, 有益于程序员之间的沟通与交流, 在开发中代码更加规范! 1. nullable 与 nonnull nullable : 表示可以为 nil nonnull : 表示不可以为 nil 这两个关键字只能修饰对象, 不能修饰基本数据类型, 可以用在属性, 方法的参数, 方法的返回值使用, 在默认情况下, 不加nullable, setter 和 getter 都是可以为nil 我们来看下如何使用, 以nul

JavaScript搜索关键字高亮的实现

高亮功能主要是指对页面中指定区域的指定文字进行高亮显示,也就是背景着色.一般在搜索结果页面会经常用到这个功能. 下面就为大家提供一种解决方案,用javascript实现.遂平县敖松广告 首先在<head>中引入下面javascript方法: 01 <script type="text/javascript"> 02 //<![CDATA[ 03     //--------begin function fHl(o, flag, rndColor, url)

vim自定义添加关键字高亮

使用vim编写java代码时,String没有高亮,而其他数据类型例如int char等都有语法高亮,这让我非常难受,所以我想把String也设置成高亮 1.打开vim的syntax文件夹 # cd /usr/share/vim/vim81/syntax 因为每一种语言的语法高亮都在syntax文件夹内,以后缀vim形式存在 2.打开java.vim # vi java.vim 3.添加String关键字 找到 syntax keyword javaType 发现后面的关键字没有String,手