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

目录
相关文章
|
iOS开发
iOS开发 --重写UISearchBar的时候,点击取消searchbar会变深色,一闪而过
iOS开发 --重写UISearchBar的时候,点击取消searchbar会变深色,一闪而过
105 0
|
iOS开发
iOS中UISearchBar(搜索框)使用总结(二)
iOS中UISearchBar(搜索框)使用总结
321 0
|
iOS开发
iOS中UISearchBar(搜索框)使用总结(一)
iOS中UISearchBar(搜索框)使用总结
303 0
iOS中UISearchBar(搜索框)使用总结(一)
|
iOS开发 容器
【iOS 开发】UITableView 结合 UISearchBar 问题解决
之前看了 Ray Wenderlich 的一篇文章 学习了一下怎么把 UISearchBar 放在 UITableView 的头部,来进行列表搜索,然后发现了两个问题,用了好久才解决: UISearchBar 有个 1 像素宽的黑色边框,去不掉 把 ...
851 0
|
Android开发 iOS开发 JavaScript
【iOS开发】禁用 WebView 放大镜及拷贝粘贴弹出框
背景: 当你的App中有 WebView 或者有 Text 文本的时候,毫无疑问,系统默认地会在你进行长按的时候,弹出一个框,来让你拷贝、粘贴、剪切文本等,亦或是弹出一个放大镜。
1250 0