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使用方法及注意事项相关推荐

  1. Dubbo+zookeeper使用方法以及注意事项

    Dubbo+zookeeper使用方法以及注意事项 最近在一个项目中想做一个数据库查询的服务,目的是将数据库查询这块从程序中脱离出来,形成一个公共的服务平台,大家都可以调用,经过考虑决定选用Dubbo ...

  2. 【PC工具】200412更新百度网盘下载工具——最终最简单百度网盘下载方法及注意事项...

    今天有朋友在群里问会员账号,上次好像说过,这种公用的会员账号基本下载量都超了,同样也限速,所以这种账号一般都用来找资源. 百度网盘这个题材也来回来去发过好几个工具了,太麻烦不说,老这么道高一尺魔高一丈 ...

  3. 【PC工具】200324更新百度网盘下载工具——最新百度网盘下载工具使用方法及注意事项...

    今天(200324)更新一个大牛的个人项目pdown,大家可以收藏一下备用(为啥是备用呢,细心的小伙伴应该发现我把标题中的高速两个字去掉了). 先发项目地址:没错还是那个神奇的网站(大神奇人聚集的地方 ...

  4. 【PC工具】更新百度网盘高速下载工具——亿寻使用方法及注意事项

    之前分享的工具和方法大部分都不好用了,我也就不保留了,有需要的朋友可以翻看之前的历史文章. 今天分享一个目前比较主流的下载工具"亿寻",可能很多朋友都用过了,这里我简单说一下使用方 ...

  5. php获取表单$_files,PHP中$_FILES的使用方法及注意事项说明

    $_FILES:经由 HTTP POST 文件上传而提交至脚本的变量,类似于旧数组$HTTP_POST_FILES 数组(依然有效,但反对使用)详细信息可参阅 POST方法上传 $_FILES数组内容 ...

  6. 佳能g3800故障灯说明书_汽车仪表灯的使用方法以及注意事项

    能够准确地识别仪表盘上的数据是每个驾驶员的必要能力,但是如今,汽车技术日新月异,大量先进技术已应用于我们的爱车上.汽车仪表盘上的指示灯和中控台上的指示灯按钮变得越来越繁杂,准确识别这些抽象按钮已不再是 ...

  7. 电脑安全注意事项_松下洗衣机维修方法及注意事项

    阅读本文前,请您先点击上面的"蓝色字体",再点击"关注",这样您就可以继续免费收到文章了.每天都有分享,完全是免费订阅,请放心关注. 注:本文转载自网络,不代表 ...

  8. go面向对象编程:结构体struct详解、结构体实例的创建方式、结构体之间的转换(type取别名的使用)、方法的注意事项及与函数的区别

    入门示例 package main import "fmt" //定义老师结构体,将老师中的各个属性 统一放入结构体中管理: type Teacher struct{//变量名字大 ...

  9. 动物之森服务器维护时间,动物之森怎么更改时间 动物森友会改时间方法及注意事项...

    动物之森怎么更改时间?在动物之森中有些任务需要等待很长时间才能成功触发,为了节省时间很多玩家都会用穿越的方法投机取巧,也就是更改NS主机的时间.下面就是动物森友会改时间方法及注意事项了,大家一起来看看 ...

  10. linux gfs原理,Linux GFS 配置方法及注意事项

     Linux GFS(Global File System)是实现为多个访问节点或者主机能同时读写的分布式文件系统. 现测试基于RedHat的GFS简单 配置方法及注意事项实验记录如下: 1.GFS ...

最新文章

  1. 快过年了,博客园里的文章也变少了
  2. mysql DATE_FORMAT 年月日时分秒格式化
  3. C#中格式化数据的输出
  4. mybatis源码刨析总结
  5. Shell 脚本生成不重复的随机数
  6. 禅道 php api,云禅道有API的方式可以获取数据吗
  7. iphone闪退修复工具_iPhone更新iOS 13出现程序闪退?大家不妨试试这个方法来解决问题...
  8. 冬季防御抗疫情宣传插画素材,时刻提醒大家注意
  9. 刷屏!边学边用,这个学Python方法彻底火了!
  10. c++比c快?一道字符串题目
  11. 江湖魔头-BugkuCTF平台
  12. 走进龙芯3A3000(二)安装Gentoo N64
  13. gyp ERR! stack Error: EACCES: permission denied,解决
  14. 删除EFI系统分区(ESP)后Windows无法启动,重建引导分区并修复启动的过程
  15. 神舟微型计算机系统重装步骤,电脑重装系统步骤,最简单安全的操作!
  16. Python之ARP协议探测MAC地址
  17. [模版]尽整些歪门邪道
  18. 拼多多向1688开枪
  19. CPU,GPU,NPU的架构差异对比
  20. java判断object对象为不为空

热门文章

  1. Oracle服务的作用
  2. Spring整合Struts2,Hibernate的xml方式
  3. Asterisk的配置详解
  4. 字符串压缩-连续字符压缩并输出次数
  5. 【第二章】 IoC 之 2.2 IoC 容器基本原理 ——跟我学Spring3
  6. 相机标定—了解相机模型
  7. lambda expressions
  8. 控制层解析post请求中json数据的时候,有些属性值为空
  9. php页面传递参数值几种方法总结
  10. jQuery插件开发详细教程