iOS Swift UISearchController的取消按钮
UISearchController的取消按钮
关于UISearchController的设置就不多说了,可以参考《UISearchController仿微信搜索框》或者自行上网查找。 情况 本人想实现微信通讯录上方的搜索框功能,但在搜索框的取消按钮的设置这个卡住,在网上搜了个遍,没有合适的做法,经过不懈的探索,终于找到解决方案,遂前来记录一下。
方案
添加两个属性
// 记录是否已经找到取消按钮
lazy var hasFindCancelBtn: Bool = {return false
}()
// 定时器(用来定时查找取消按钮)
lazy var link: CADisplayLink = {CADisplayLink(target: self, selector: #selector(findCancel))
}()
复制代码
提供查找并设置取消按钮的方法
func findCancel() {let btn = searchBar.value(forKey: "_cancelButton") as AnyObjectif btn.isKind(of: NSClassFromString("UINavigationButton")!) {LXFLog("就是它")link.invalidate()link.remove(from: RunLoop.current, forMode: .commonModes)hasFindCancelBtn = truelet cancel = btn as! UIButtoncancel.setTitleColor(UIColor.red, for: .normal)cancel.setTitleColor(UIColor.orange, for: .highlighted)}
}
复制代码
代理方法
设置代理为当前控制器,并实现代理方法
searchBar.delegate = self
复制代码
func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) {if !hasFindCancelBtn {link.add(to: RunLoop.current, forMode: .commonModes)}
}
复制代码
效果
附上相关项目:Swift 3.0 高仿微信
iOS Swift UISearchController的取消按钮相关推荐
- IOS开发UISearchBar失去第一响应者身份后,取消按钮不执行点击事件的问题
在iOS开发中,使用UISearchBar的时候,当搜索框失去焦点的时候,取消按钮是默认不能点击的,如图按钮的颜色是灰色的: 这是因为此时取消按钮的enabled属性被设置为NO了,那么当我们需 ...
- IOS Swift 入门学习汇总 (更新中..)
IOS Swift 学习入门 配置区 info 配置 本地化中文 文件导入Xcode CocoaPads 依赖管理工具 UI区 + 代码 通用 打开新页面方式 设置新开页面全屏展示 跳转页面 正向传值 ...
- iOS/swift之获取系统所有相册和照片录像、封装相册多选
参考:http://www.hangge.com/blog/cache/detail_1512.html ios14 使用PHPicker获取相册(需要 import PhotosUI) 支持多选 支 ...
- js点击取消按钮关闭当前弹框_UI设计中“取消按钮”的分析详解
按钮,无论是在 Web 还是 App 上都被广泛地使用,而很少有设计师会注意到按钮当中的细节,导致在设计过程中出现一些低级的错误,使得用户在完成任务的过程中产生阻碍,无法顺利达成目的. 在许多优秀的产 ...
- web界面左边菜单设计_前端产品经理难点|“取消按钮”逻辑设计
3月,写了内容大部分中后台产品.4月份为了满足读者的要求,我会往C端的设计.和细节交互做案例.今天分享一个交互设计师朋友原创的"取消按钮"设计,提出了按钮主管的设计解决方案.召唤观 ...
- 【交互设计】如何设计“取消”按钮
转载自:老二牛车教育 » [交互设计]如何设计"取消"按钮 "取消"这个按钮不属于操作的必要流程,在设计上也不作为主要元素出现.但在实际的弹框或一些操作应用中经 ...
- ios swift 聊天_iOS Swift上的加密聊天
ios swift 聊天 In this tutorial, we'll build encrypted chat on iOS using Swift. We'll combine Stream C ...
- 关于搜索栏取消第一响应(取消焦点), 取消按钮不隐藏的解决
一开始的时候我是这样做的,但发现并没有什么卵用, 虽然占位文字是变了,但取消按钮没反应.还是不隐藏 [_searchController.searchBar resignFirstResponder ...
- iOS Swift 5中的键盘处理
This article was originally published at CometChat. 本文最初在CometChat上发布. "Handling Keyboard in iO ...
最新文章
- oracle的系统和对象权限 与 Oracle 查看用户权限
- Android FM模块学习之一 FM启动流程
- 计算一个全息图片的两个设想
- 在谈PHP中的 抽象类(abstract class)和 接口(interface)
- 『ACM-算法-二分法』算法竞赛进阶指南--在单调递增序列a中查找大于等于X的数中最小的一个,即X或X的后继
- 计算机安全可靠替代工程,基于安全可靠软硬件的党政军OA系统的整系统优化方法与研究-计算机技术专业论文.docx...
- python手机解释器_python3
- 生肖牛年元素新年促销电商PSD分层页面模板|妥妥过年!
- Python使用逻辑回归算法根据三围数据判断用户性别
- 每天开豪车跟随老板出入高档会所,吃住高档酒店,这样的职场生活,有必要坚持下去吗?
- 一年之后 重温旧“梦”
- WCF中常见的几种Host,承载WCF服务的方法
- theano 编程技巧
- hdu 1232 畅通工程(并查集)
- 2台主机极致实现双主复制架构及MMM
- 【优化算法】改进定步长与变步长LMS算法【含Matlab源码 629期】
- node2vec的一些理解
- SQLmap————10、sqlmap详细命令
- WorldPress 设置固定连接 Apache 服务器无法打开网页(100%解决这个问题)
- 先有鸡还是先有蛋?应用程序开发与安全