UISearchController使用方法及注意事项
2019独角兽企业重金招聘Python工程师标准>>>
在进行ios开发的时候,有时候涉及到搜索功能,实现搜索功能的方法有很多,可以是用自定义的搜索控件,也可以用sdk提供的UISearchController(ios8以后)、UISearchDisplayController(ios8之前);
下面介绍UISearchController使用方法及注意事项:
_searchController = [[UISearchController alloc] initWithSearchResultsController:_viewController];
_searchController.searchResultsUpdater = self; //设置UISearchResultsUpdating协议代理
_searchController.delegate = self; //设置UISearchControllerDelegate协议代理
_searchController.dimsBackgroundDuringPresentation = NO; //是否添加半透明覆盖层
_searchController.hidesNavigationBarDuringPresentation = YES; //是否隐藏导航栏
[self.view addSubview:_searchController.searchBar]; //此处重要一步,将searbar显示到界面上
另外需要注意在合适的地方添加下面一行代码
self.definesPresentationContext = YES;
这行代码是声明,哪个viewcontroller显示UISearchController,苹果开发中心的demo中的对这行代码,注释如下
// know where you want UISearchController to be displayed
a、如果不添加上面这行代码,在设置hidesNavigationBarDuringPresentation这个属性为YES的时候,搜索框进入编辑模式会导致,searchbar不可见,偏移-64;
在设置为NO的时候,进入编辑模式输入内容会导致高度为64的白条,猜测是导航栏没有渲染出来
b、如果添加了上面这行代码,在设置hidesNavigationBarDuringPresentation这个属性为YES的时候,输入框进入编辑模式正常显示和使用;在设置为NO的时候,搜索框进入编辑模式导致向下偏移64,具体原因暂时未找到
转载于:https://my.oschina.net/u/1432769/blog/604011
UISearchController使用方法及注意事项相关推荐
- Dubbo+zookeeper使用方法以及注意事项
Dubbo+zookeeper使用方法以及注意事项 最近在一个项目中想做一个数据库查询的服务,目的是将数据库查询这块从程序中脱离出来,形成一个公共的服务平台,大家都可以调用,经过考虑决定选用Dubbo ...
- 【PC工具】200412更新百度网盘下载工具——最终最简单百度网盘下载方法及注意事项...
今天有朋友在群里问会员账号,上次好像说过,这种公用的会员账号基本下载量都超了,同样也限速,所以这种账号一般都用来找资源. 百度网盘这个题材也来回来去发过好几个工具了,太麻烦不说,老这么道高一尺魔高一丈 ...
- 【PC工具】200324更新百度网盘下载工具——最新百度网盘下载工具使用方法及注意事项...
今天(200324)更新一个大牛的个人项目pdown,大家可以收藏一下备用(为啥是备用呢,细心的小伙伴应该发现我把标题中的高速两个字去掉了). 先发项目地址:没错还是那个神奇的网站(大神奇人聚集的地方 ...
- 【PC工具】更新百度网盘高速下载工具——亿寻使用方法及注意事项
之前分享的工具和方法大部分都不好用了,我也就不保留了,有需要的朋友可以翻看之前的历史文章. 今天分享一个目前比较主流的下载工具"亿寻",可能很多朋友都用过了,这里我简单说一下使用方 ...
- php获取表单$_files,PHP中$_FILES的使用方法及注意事项说明
$_FILES:经由 HTTP POST 文件上传而提交至脚本的变量,类似于旧数组$HTTP_POST_FILES 数组(依然有效,但反对使用)详细信息可参阅 POST方法上传 $_FILES数组内容 ...
- 佳能g3800故障灯说明书_汽车仪表灯的使用方法以及注意事项
能够准确地识别仪表盘上的数据是每个驾驶员的必要能力,但是如今,汽车技术日新月异,大量先进技术已应用于我们的爱车上.汽车仪表盘上的指示灯和中控台上的指示灯按钮变得越来越繁杂,准确识别这些抽象按钮已不再是 ...
- 电脑安全注意事项_松下洗衣机维修方法及注意事项
阅读本文前,请您先点击上面的"蓝色字体",再点击"关注",这样您就可以继续免费收到文章了.每天都有分享,完全是免费订阅,请放心关注. 注:本文转载自网络,不代表 ...
- go面向对象编程:结构体struct详解、结构体实例的创建方式、结构体之间的转换(type取别名的使用)、方法的注意事项及与函数的区别
入门示例 package main import "fmt" //定义老师结构体,将老师中的各个属性 统一放入结构体中管理: type Teacher struct{//变量名字大 ...
- 动物之森服务器维护时间,动物之森怎么更改时间 动物森友会改时间方法及注意事项...
动物之森怎么更改时间?在动物之森中有些任务需要等待很长时间才能成功触发,为了节省时间很多玩家都会用穿越的方法投机取巧,也就是更改NS主机的时间.下面就是动物森友会改时间方法及注意事项了,大家一起来看看 ...
- linux gfs原理,Linux GFS 配置方法及注意事项
Linux GFS(Global File System)是实现为多个访问节点或者主机能同时读写的分布式文件系统. 现测试基于RedHat的GFS简单 配置方法及注意事项实验记录如下: 1.GFS ...
最新文章
- 快过年了,博客园里的文章也变少了
- mysql DATE_FORMAT 年月日时分秒格式化
- C#中格式化数据的输出
- mybatis源码刨析总结
- Shell 脚本生成不重复的随机数
- 禅道 php api,云禅道有API的方式可以获取数据吗
- iphone闪退修复工具_iPhone更新iOS 13出现程序闪退?大家不妨试试这个方法来解决问题...
- 冬季防御抗疫情宣传插画素材,时刻提醒大家注意
- 刷屏!边学边用,这个学Python方法彻底火了!
- c++比c快?一道字符串题目
- 江湖魔头-BugkuCTF平台
- 走进龙芯3A3000(二)安装Gentoo N64
- gyp ERR! stack Error: EACCES: permission denied,解决
- 删除EFI系统分区(ESP)后Windows无法启动,重建引导分区并修复启动的过程
- 神舟微型计算机系统重装步骤,电脑重装系统步骤,最简单安全的操作!
- Python之ARP协议探测MAC地址
- [模版]尽整些歪门邪道
- 拼多多向1688开枪
- CPU,GPU,NPU的架构差异对比
- java判断object对象为不为空