在IOS中将UISearchbar背景颜色设置为白色

Res*_*hma 11 uisearchbar ios swift

我正在尝试更改 UISearchbar 的背景颜色。我可以将背景设置为除白色之外的任何颜色。不知道为什么白色没有凝固。我正在使用下面的代码片段来设置颜色。我有一个扩展方法来获取文本字段。因此,您可以假设 textField 存在。

searchBar.backgroundColor = .white
searchBar.textField?.backgroundColor = .white
Run Code Online (Sandbox Code Playgroud)

当我将其设置为白色时,它始终为灰色。 在此输入图像描述

但是,如果我使用白色以外的颜色,它会显示该颜色。

searchBar.textField?.backgroundColor = .blue
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

知道这里出了什么问题吗?

Ker*_*rrM 9

我发现执行此操作的唯一可靠方法是将并手动设置图层searchTextField以匹配默认边框样式。就像是:.borderStyle.nonecornerRadius

self.searchBar.searchTextField.borderStyle = .none
self.searchBar.searchTextField.layer.cornerRadius = 10
self.searchBar.searchTextField.backgroundColor = .white
Run Code Online (Sandbox Code Playgroud)


zey*_*tin 0

试试这个:

if #available(iOS 13.0, *) {
    searchController.searchBar.textField.backgroundColor = .white
}
Run Code Online (Sandbox Code Playgroud)