0301——SearchController
创建显示的页面
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的更多相关文章
- 升级iOS10后SearchController焦点无法获取的问题
原来在没升级之前,是这样获取的,好使 - (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self.sea ...
- 0301——Notification 通知
注册消息 [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(方法) name:@"消息名字&q ...
- 0301——UItableView
- (void)viewDidLoad { [super viewDidLoad]; self.myTableView = [[UITableView alloc]initWithFrame:CGRe ...
- 基于visual Studio2013解决C语言竞赛题之0301函数求值
题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <math.h> void main() ...
- 基于visual Studio2013解决面试题之0301累加
题目
- [03-01]JDBC基础
JDBC是什么? 1.java Database Connectivity:java访问数据库的解决方案: 2.用相同的方式访问不同的数据库,以实现与具体数据库无关的java操作界面: 3.JDBC定 ...
- [03-01] JSP自定义标签
1.自定义标签的概念 目前我们在JSP中使用的标签都是HTML的标签,浏览器会自动解析运行,例如<form action=""></form>,这里的for ...
- 03-01 Java运算符
(1)算术运算符 A:+,-,*,/,%,++,-- B:+的用法 a:加法 b:正号 c:字符串连接符 C:/和%的区别 数据做除法操作的时候,/取得是商,%取得是余数 D:++和--的用法 a:他 ...
- 03-01:springboot 整合jsp
1.修改pom文件,添加坐标 <!-- jstl --> <dependency> <groupId>javax.servlet ...
随机推荐
- mysql 5.6 参数详解
系统变量提供的是各种与服务器配置和功能有关的信息.大部分的系统变量都可以在服务器启动时进行设置.在运行时,每一个系统变量都拥有一个全局值或会话值,或者同时拥有这两个值.许多系统变量都是动态的,也就是说 ...
- nodemon 或者 Supervisor 监控 Express4.x的代码改动
Express 4.x 默认将启动模块分离到了./bin/www中,直接使用 supervisor/nodemon 无法正常监控应用,使得开发过程中的调试非常不方便.所以我们直接把./bin/www中 ...
- 使用APMServ本地搭建多个网站
October 27, 2014 使用APMServ本地搭建多个网站教程 把我写好的代码直接粘贴到 httpd.conf 文件的末尾.然后保存就可以了.代码如下: <VirtualHost *: ...
- python 如何重新加载有修改过的模块(module)
写 Python 程序的时候,一边写模块一边调试.调试是在 Python 自身的命令行终端进行的.但当对模块里的代码进行修改后,在原调试终端上执行到模块中新修改上去的内容. 我之前是一直用退出再重新进 ...
- resumable.js —— 基于 HTML 5 File API 的文件上传组件 支持续传后台c#实现
在git上提供了java.nodejs.c#后台服务方式:在这里我要用c#作为后台服务:地址请见:https://github.com/23/resumable.js 我现在visual studio ...
- BZOJ2768: [JLOI2010]冠军调查
2768: [JLOI2010]冠军调查 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 484 Solved: 332[Submit][Status ...
- java基础进阶:SQL的运用
SQL的基础的运用 /* --1.学生表 Student(S,Sname,Sage,Ssex) --S 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Cour ...
- WEB 移动网站 手机点击 打电话 发短信
原文地址: http://www.blesswe.com/portal.php?mod=view&aid=428 我们在手机浏览网页是希望用户看到手机号码点击就可以直接打电话或发短信,下面我们 ...
- perl 学习笔记
一:基础 1:安装perl centos: yum -y install perl 官网:https://www.perl.org/ 升级到5.22:先下载,执行./i ...
- dp优化简单总结
1.二分优化 (使用二分查找优化查找效率) 典型例题:LIS dp[i]保存长度为 i 的上升子序列中最小的结尾,可以用二分查找优化到nlogn 2.数学优化 (通过数学结论减少状态数) 例题1:hd ...