ios - 更改 UISearchBar 中 clearbutton 的宽度和高度以修复 IOS 中的可访问性问题
问题描述
我正在努力实现 IOS 中屏幕的可访问性。屏幕包含 UISearchBar,我可以根据可访问性设置中的系统字体更改来缩放/更改搜索栏的高度和其中的文本字段以及文本字段的文本字体。但是,我无法更改用户在搜索中键入时出现的默认清除按钮的宽度和高度。我想根据系统字体大小的变化来改变清除按钮的高度和宽度。我尝试了下面的代码,但它没有修改清除按钮的高度和宽度。我希望清除按钮具有相同的宽度和高度,因此使用“newHeight”来设置高度和宽度。关于如何修改 UISearchBar 中默认清除按钮的高度和宽度的任何指针。
func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) {
if let textField = searchBar.textField, let clearButton = textField.value(forKey: "_clearButton") as? UIButton {
let newHeight = UIFontMetrics(forTextStyle: .body).scaledValue(for: clearButton.frame.height)
clearButton.frame.size = CGSize(width: newHeight, height: newHeight)
}
}
仅供参考,我在 UISearchBar 上创建了一个扩展方法来检索 textField。因此,您可以假设 searchBar.textField 返回文本字段。
解决方案
推荐阅读
- javascript - 哪些现代浏览器使用标记和扫描算法进行垃圾收集?
- matlab - 绘制图形 - 不同边的不同线条样式
- docker - Docker 上的 Headless Chromium 失败
- laravel - 无法打开流:尝试保存图像时权限被拒绝
- c++ - 如何(优雅地)读取列具有不同类型的文件并适当地存储列?
- matplotlib - 修改一行中的y数据
- parquet - HDFS(远程文件系统)的 Apache Arrow 连接问题
- c# - Xamarin.Forms 的 ECDsa
- python - keras模型中损失的nan值
- apache-kafka - 如何使用 kafka 命令行获取给定 kafka 主题的所有分区的日志结束偏移量?