ios - UISearchBar 背景颜色不适用于最小的 searchBarStyle
问题描述
我有一个UISearchBar
我想设置一个白色背景的。
由于我想设置自定义边框,因此我minimal
选择searchBarStyle
.
backgroundColor
我可以通过设置和borderStyle
来获得白色背景searchTextField
(该字段仅在 iOS 13 中可用,在其他 iOS 版本中安全访问请查看此处),如下所示:
searchBar.searchTextField.borderStyle = .none
searchBar.searchTextField.backgroundColor = .white
但是,这在 iOS 13 中不起作用,searchBarStyle
当value 为时,背景颜色似乎被忽略minimal
,但适用于default
/prominent
样式。
解决方案
在试图弄清楚这一点时,我注意到searchBarStyle
在运行时使用Reveal更改时正确应用了背景颜色。
所以我尝试在搜索栏配置后切换代码中的`searchBarStyle,我设法让它工作!
func configureSearchBar() {
// ... other searchbar customization code ....
searchBar.searchTextField.borderStyle = .none
searchBar.searchTextField.backgroundColor = .white
if #available(iOS 13.0, *) {
searchBarStyle = .prominent
searchBarStyle = .minimal
}
}}
我知道这是一个非常脆弱的解决方法,但就我而言,它解决了问题。
推荐阅读
- c# - 如何使用位图在表单上绘制 gif?
- c - 添加不相关的代码会更改相同打印的输出
- api - 无法让“生成摘要报告”在 Clockify Api 中工作
- ruby - Ruby 脚本经历无休止的问题循环
- python - matplotlib 刻度标签格式:带偏移的固定位数
- python - Jenkins 可以在具有多个包的 monorepo 中只构建一个 python 包吗?
- ag-grid - 如何在 ag-Grid 中批量选择行
- functional-programming - ELM 获取和解码两个或多个字段
- linux - trace_smbus_write 的定义在哪里?(linux i2c驱动)
- javascript - 在 div 中加载()内容并在内容 div 中添加 div