美文网首页
表视图 索引和搜索栏 的添加

表视图 索引和搜索栏 的添加

作者: 磨剑十年 | 来源:发表于2017-04-24 20:21 被阅读0次

    索引

    索引的添加是通过表视图的数据源协议方法(UITableViewDatasource)实现的。

    01. // 添加索引
    02. - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
    03. {
    04.      return 分组标题的数组;
    05.      // 返回值是一个数组,表示的是索引的标题,一般是字母A-Z表示分组标题的首字母
    06. }
    07. ...
    

    搜索栏(UISeachBar)

    与索引不同的是,搜索栏是区别于表视图的一个独立控件。

    搜索栏的特点:
    • 无法更改控件高度,系统默认值 44 px
    • 可以在默认样式上添加各种按钮类型丰富搜索栏的风格,比如书签按钮等
    • 能够响应编辑输入事件,按钮点击事件和scope(范围)点击事件

    在表视图中添加搜索栏的基本步骤

    1,添加搜索栏,其实搜索栏与表视图是同一级的

    01. ... // 在ViewDidLoad()方法中
    02. UISearchBar *searchBar = [[UISearchBar alloc] init];
    03. searchBar.frame = CGRectMake(0,0,320,44);  //高度无法更改,无论设置何值,始终默认44px
    04. // 通过setShows...属性,附加多种按钮
    05. [searchBar setShowsCancelButton:YES];
    04. // 显示
    05. [self.view addSubView:searchBar]; // 同级
    06. ...
    

    2, 遵守协议,设置代理

    01. ... // 在之前配置搜索栏信息的位置
    02. searchBar.delegate = self;
    03. ...
    

    3,实现需要的协议方法,要求实现:
    搜索栏中文本内容发生更改时实时检索表视图的内容

    01. ...
    02. - (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
    03. {
    04.      // 调用一个检索关键字的方法
    05. }
    06. ...
    07. // 这样搜索栏的部分基本完成,剩下的是表视图中的响应
    

    实际上,搜索栏的功能只是处理各种事件,检索功能显示结果的实现都与搜索栏无关。

    • 检索功能:自定义实现,返回值是表视图需要显示的数据源
    • 显示结果:通过监听搜索栏中文本的长度,来加载不同的数据源

    相关文章

      网友评论

          本文标题:表视图 索引和搜索栏 的添加

          本文链接:https://www.haomeiwen.com/subject/tqwpzttx.html