iOS小技能:去掉UISearchBar搜索框的放大镜

简介: 去掉UISearchBar搜索框的放大镜

I UISearchBar适配

1. 去掉UISearchBar搜索框的放大镜

  • 去掉UISearchBar的放大镜
   UITextField *searchTextField  = [searchBar valueForKey:@"_searchField"];
    searchTextField.leftView = nil;
  • 隐藏取消按钮
    [searchBar setShowsCancelButton:NO];

1.2IOS13控件私有属性适配

iOS13无法访问UISearchBar 的 _searchField的解决方案https://blog.csdn.net/z929118967/article/details/104277752

这次iOS 13系统升级,影响范围最广的应属KVC访问修改私有属性了,直接禁止开发者获取或直接设置私有属性。

而KVC的初衷是允许开发者通过Key名直接访问修改对象的属性值,为其中最典型的UITextField 的 _placeholderLabel、UISearchBar 的 _searchField。

_placeholderLabel推荐采用NSMutableAttributedString适配

解决方案:  使用 NSMutableAttributedString 富文本attributedPlaceholder来替代KVC访问 UITextField 的 _placeholderLabel

textField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"placeholder" attributes:@{NSForegroundColorAttributeName: [UIColor darkGrayColor], NSFontAttributeName: [UIFont systemFontOfSize:13]}];


see also

iOS12、13、14 系统适配汇总:https://kunnan.blog.csdn.net/article/details/113388980

目录
相关文章
|
JSON JavaScript 前端开发
iOS小技能: 开发 uni-app 原生插件(支持iOS Extension)
术语:uni原生插件指的是将`原生开发的功能按照规范封装成插件包`,然后即可在 uni-app 前端项目中通过js调用原生能力。
1155 0
iOS小技能: 开发 uni-app 原生插件(支持iOS Extension)
|
文字识别 API iOS开发
iOS小技能:iOS13 证件扫描 & 文字识别API
1. 应用场景:证件扫描、文字识别 2. 原理:利用iOS13 VNDocumentCameraViewController的证件扫描和VNRecognizeTextRequest文字识别功能进行实现
408 0
iOS小技能:iOS13 证件扫描 & 文字识别API
|
安全 iOS开发
iOS小技能:下拉刷新控件的适配
1. 下拉顶部背景色设置: 往tableView的父控件添加拉伸背景视图 2. present 半屏适配 iOS13 modalPresentationStyle属性默认不是全屏样式`UIModalPresentationFullScreen`,而是半屏样式,需要根据需求手动设置。 present 半屏,会导致列表下拉刷新失效。
212 0
iOS小技能:下拉刷新控件的适配
|
iOS开发 Python
iOS小技能:lldb打印block参数签名
iOS逆向时经常会遇到参数为block类型,本文介绍一个lldb script,可快速打印出Objective-C方法中block参数的类型。
203 0
iOS小技能:lldb打印block参数签名
|
JSON JavaScript 前端开发
iOS小技能: 开发 uni 原生插件(支持iOS Extension)
背景:app采用uni实现 需求: iOS App前台后台离线(杀死情况下)推送语音播报(到账xx元、收款播报、自定义推送铃)。 实现方式:uni-app 原生插件(支持iOS Extension)
492 0
iOS小技能: 开发 uni 原生插件(支持iOS Extension)
|
安全 iOS开发 开发者
iOS小技能:重签名、打包脚本
重签名需求:改变了应用的二进制文件,或者增加、修改了应用里面的资源,应用本身的签名就会被破坏。
275 0
iOS小技能:重签名、打包脚本
|
IDE Unix 编译器
iOS小技能:Makefile的使用(Makefile的规则、部署脚本、config管理ssh连接)
make是一个命令工具,是一个解释makefile中指令的命令工具。其本质是**文件依赖**,Makefile文件制定编译和链接所涉及的文件、框架、库等信息,将整个过程自动化。
402 0
|
编解码 自然语言处理 API
iOS小技能:通讯录
iOS处理语言工具CFStringTransform : 智能地处理用户的输入内容,经典应用场景【索引】
114 0
|
存储 iOS开发
iOS小技能: get 和post 布尔值参数处理、按照时间分页的数据重复的处理
1. get 和post 布尔值参数处理:如果后台Bool 参数没有同时支持【 0,1】 ;和【 true false】,get请求的时候就需要特殊处理。 2. 按照时间分页的数据重复的处理
182 0
iOS小技能: get 和post 布尔值参数处理、按照时间分页的数据重复的处理
|
消息中间件 存储 API
iOS小技能:队列管理推送通知,解决收款到账并发语音播报问题。
需求:收款到账语音提醒功能 NSE是比Voip更优雅的解决方案,完成迁移后,总体代码量也比Voip方案少了不少。
306 0
iOS小技能:队列管理推送通知,解决收款到账并发语音播报问题。