您的位置:首页 > 移动开发 > IOS开发

IOS_SearchBar搜索栏及关键字高亮

2016-09-19 18:58 525 查看
搜索框的效果演示:



这个就是所谓的搜索框了,那么接下来我们看看如何使用代码来实现这个功能.

我所使用的数据是英雄联盟的英雄名单,是一个JSON数据的txt文件, JSON数据的处理代码如下所示:

?
我们再来看数据的层级关系:



这里解释下,这个层级关系是通过在线代码格式化网页得到的,我们上一步所做的数据处理就是将原始数据进行处理,得到一个结果数组,他的层级关系和格式化后一样,这样就可以根据格式化网页上的层级关系来进一步处理数据,将需要的内容放入数组或者字典(当然也可以直接打印result来看层级关系,看个人习惯).

那么我们所需要的内容就是字典中nick所对应的值,通过遍历将其取出来放入数组中,这里将这个数组定义为属性,在其他方法里会用到.

?
接下来我们创建一个UITableView用来显示数据,搜索条需要用到的类是
UISearchController
,先看看如何创建:



系统的注释说的很清楚,如果想要在当前页显示搜索结果,这个方法的参数填nil即可,为了方便起见,声明一个
UISearchController
的属性

?
接下来是创建

?
UISearchController头文件中被放在非常靠前的位置的是一个属性



根据字面意思我们可以猜到这跟搜索结果的更新有关,就跟
tableView
reloadData
一个意思.那么很明显,我们得签协议<
UISearchResultsUpdating
>,这个协议中只有一个必须要实现的方法.

?
头文件如下图所示:



---------这里是美丽的分割线---------

上面已经把所有关于搜索条的类和方法罗列了一下,下面来捋一捋

所有定义的属性如下所示:

?
数据处理相关代码如下:

?
和UISearchController的创建相关代码如下:

?
和tableView相关的代码如下:

?
UISearchResultsUpdating协议方法代码如下:

?
tableView的DataSource

?
?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: