创建显示的页面

SearchViewController * searchVC = [[SearchViewController alloc]init];

 告诉搜索控制器将结果显示在创建的页面上

self.searchController = [[UISearchController alloc]initWithSearchResultsController:searchVC];

由谁来监听搜索内容发生的事件

self.searchController.searchResultsUpdater = self;

在tableview上方显示searchbar

self.MyTableView.tableHeaderView = _searchController.searchBar;

设置提供显示新页面

self.searchController.definesPresentationContext= YES;

<UISearchResultsUpdating>

代理方法

-(void)updateSearchResultsForSearchController:(UISearchController *)searchController{

设置查找条件

NSPredicate * predicate = [NSPredicate predicateWithFormat:@"SELF contains[cd] %@",searchController.searchBar.text];

过滤出结果

NSArray * results = [_dataSourceArray filteredArrayUsingPredicate:predicate];

找到应显示的结果位置searchResultsController

SearchViewController *sResultCtrl = (SearchViewController *)_searchController.searchResultsController;

设置数据源

sResultCtrl.dataSourceArray = results;

}

结果类 SearchViewController 中

- (void)setDataSourceArray:(NSArray *)dataSourceArray{

_dataSourceArray = dataSourceArray;

刷新列表

[self.myTableView reloadData];

}

0301——SearchController的更多相关文章

  1. 升级iOS10后SearchController焦点无法获取的问题

    原来在没升级之前,是这样获取的,好使 - (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self.sea ...

  2. 0301——Notification 通知

    注册消息 [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(方法) name:@"消息名字&q ...

  3. 0301——UItableView

    - (void)viewDidLoad { [super viewDidLoad]; self.myTableView = [[UITableView alloc]initWithFrame:CGRe ...

  4. 基于visual Studio2013解决C语言竞赛题之0301函数求值

     题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <math.h> void main() ...

  5. 基于visual Studio2013解决面试题之0301累加

     题目

  6. [03-01]JDBC基础

    JDBC是什么? 1.java Database Connectivity:java访问数据库的解决方案: 2.用相同的方式访问不同的数据库,以实现与具体数据库无关的java操作界面: 3.JDBC定 ...

  7. [03-01] JSP自定义标签

    1.自定义标签的概念 目前我们在JSP中使用的标签都是HTML的标签,浏览器会自动解析运行,例如<form action=""></form>,这里的for ...

  8. 03-01 Java运算符

    (1)算术运算符 A:+,-,*,/,%,++,-- B:+的用法 a:加法 b:正号 c:字符串连接符 C:/和%的区别 数据做除法操作的时候,/取得是商,%取得是余数 D:++和--的用法 a:他 ...

  9. 03-01:springboot 整合jsp

    1.修改pom文件,添加坐标 <!-- jstl -->        <dependency>            <groupId>javax.servlet ...

随机推荐

  1. java基础day7

    1/匿名类对象:创建类的对象是匿名的. 比如说new Circle():就是一个匿名类对象. 匿名类对象只能使用一次. 2/形参:声明方法时,方法小括号内的参数 实参:调用方法是,实际传入的参数的值 ...

  2. (原)torch的apply函数

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6221633.html torch中的apply函数通过可以不断遍历model的各个模块.实际上其使用的 ...

  3. Java语言实现简单FTP软件------>FTP软件效果图预览之上传功能(三)

    下面展示一下上传功能的过程 1.上传前 上传前选择好要将文件或文件夹上传到远程FTP服务器的哪个目的目录下. 2.上传中 添加上传任务 上传任务完成进度显示 3.上传完成 ============== ...

  4. Java系列--第八篇 基于Maven的SSME之定时邮件发送

    关于ssme这个我的小示例项目,想做到麻雀虽小,五脏俱全,看到很多一些web都有定时发送邮件的功能,想我ssme也加入一下这种功能,经查询相关文档,发现spring本身自带了一个调度器quartz,下 ...

  5. String 和 string 的区别

    string是c#中的类,String是.net Framework的类(在c# IDE中不会显示蓝色)c# string映射为.net Framework的String如果用string,编译器会把 ...

  6. 有时summary的状态和details是否有open属性有关

    用过mac的同学对这个界面一定很熟悉,因为这个界面和我们今天要说的details有很多相近的地方,首先,其有折叠效果,用户可以自己选择打开或关闭哪一个,其次,当我们直接打开的时候,默认会有几个标签是打 ...

  7. qt http 上传文件

    //Qt文件 QFile file("1.jpg"); if(!file.open (QIODevice::ReadOnly)){     qDebug()<<&quo ...

  8. fuck WPFG.org

    今天一旦进入国外网站,就立刻跳转到WPFG.org.可能DNS被劫持污染了吧.用OpenDNS就行了.然后就没有这回事发生了 参考以下: https://www.opendns.com https:/ ...

  9. 用c++编写一个不能被继承的类(但是可以在类外部定义该类的对象)

    据我们知道,我们只要把类的构造函数和析构函数定义为private类型,那么就不能够在外部建立给类的对象,也就不能以给类为基类进行继承,因为如果继承,建立对象的时候将要调用基类的构造函数,但是因为为pr ...

  10. 第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter

    第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter 1.BaseAdapter BaseAdapter是Android应用程序中经常用到的基础数据适配器,它的 ...