本文介绍: UISearchController是iOS的一个系统的搜索控件,在平时我们输入信息的时候会出现相应的联想搜索的内容,然后通过UITableView展示到搜索框的下面,供我们选择。原本还想用UITextField来实现这个功能,人家现在有,那就浅学习一手。一、需要遵守的协议:因为它用到的UITableView所以一定是要用到UITableViewDelegate, UITableViewDataSource的,另外我们要实现其联想搜索功能还的遵守这两个协议UISearchControllerDelega
UISearchController
是iOS
的一个系统的搜索控件,在平时我们输入信息的时候会出现相应的联想搜索的内容,然后通过UITableView
展示到搜索框的下面,供我们选择。原本还想用UITextField
来实现这个功能,人家现在有,那就浅学习一手。
一、需要遵守的协议:
因为它用到的UITableView
所以一定是要用到UITableViewDelegate
, UITableViewDataSource
的,另外我们要实现其联想搜索功能还的遵守这两个协议UISearchControllerDelegate
, UISearchResultsUpdating
。
二、属性及方法:
1.初始化方法:
- (instancetype)initWithSearchResultsController:(nullable UIViewController *)searchResultsController;
参数为nil
,表示使用当前控制器作为展示结果的控制器。否则,使用指定的控制器作为显示结果的控制器。
2.两个代理:
(1) UISearchControllerDelegate
该代理中的方法用来告知用户结果视图的状态(即将出现,已经出现,即将消失,已经消失)。
(2) UISearchResultsUpdating
该代理中- (void)updateSearchResultsForSearchController:(UISearchController *)searchController
方法每输入一个字符就会执行该方法一次,在此方法中进行数据的更新及表视图的刷新。
3.属性:
4.个性化设置:
三、实例演示:
ViewController.h
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。