自定义“可搜索”搜索字段 SwiftUI iOS 15

Posted

技术标签:

【中文标题】自定义“可搜索”搜索字段 SwiftUI iOS 15【英文标题】:Customize "searchable" Search field SwiftUI iOS 15 【发布时间】:2021-10-10 02:57:12 【问题描述】:

ios 15 的 SwiftUI 中使用新的 .searchable() 修饰符时,我无法自定义搜索栏的外观。具体来说,我不希望它与我用于导航栏的颜色相得益彰。

我尝试像这样更改.appearance()

UISearchBar.appearance().backgroundColor = UIColor.white
UISearchBar.appearance().tintColor = UIColor.white
UISearchBar.appearance().barTintColor = UIColor.white

但只能设法得到这个。

即使这种成功,间距也不好看。我宁愿把它染成白色。

【问题讨论】:

你能提供一些额外的代码吗?例如,ContentView 中的代码?这是因为通过添加 searchable() 修饰符,TextField 是透明的 您可以实现 init() 函数来初始化这些属性。当我使用 UINavigationBar.appearnce() 更改 tintColor 时,它实际上对我有用。但我仍在学习如何更改 textColor。 【参考方案1】:

我通过使用这两条全局外观线解决了这个问题。

UITextField.appearance(whenContainedInInstancesOf: [UISearchBar.self]).backgroundColor = .white
UITextField.appearance(whenContainedInInstancesOf: [UISearchBar.self]).tintColor = .black

【讨论】:

对我来说,tintColor 似乎没有效果。您是否尝试将颜色设置为黑色以外的任何颜色?

以上是关于自定义“可搜索”搜索字段 SwiftUI iOS 15的主要内容,如果未能解决你的问题,请参考以下文章

如何从 webkit swiftUI 中的文本字段中搜索自定义文本

有啥方法可以在 SwiftUI 中的可搜索导航修饰符上关闭自动更正/设置键盘类型

带有自定义选择字段的 SwiftUI 选择器

OSX 中的 SwiftUI 自定义文本字段

自定义可搜索微调器在单击微调器时引发空指针异常

带有 UIViewRepresentable 的 SwiftUI 自定义文本字段 ObservableObject 和推送视图的问题