如何获取 UISearchBar 的默认灰色

How to get default gray color of UISearchBar

我的布局将 UISearchController 的搜索栏作为我的 table 视图 header 的子视图,与其他自定义控件(按钮等)放在一起。

为了使 header 视图中的所有控件变为 "blend in",我想将 header 视图的背景颜色设置为与搜索栏的背景颜色相匹配(即,外缘是浅灰色,不是输入文本框的白色)。

我尝试在 viewDidLoad() 中查询搜索栏的 backgroundColorbarTintColor 属性,但是 return nil 和我的 header 视图结束 白色.

可以 对颜色进行硬编码(ColorPicker 报告它是 RGB (199, 199, 204),至少在模拟器上是这样),但这不是一个优雅的解决方案并且会破坏一个苹果改头换面的日子

搜索栏的背景实际上是一张图片,因此您无法检索它的背景颜色。但是,如果您只是想让它融入其中,那么您可以将 imageView 更改为透明并将背景颜色设置为您想要的任何颜色。使用 Xcode 中的视图调试器发现 UIImageView 位于此处。

在Swift 2.0

(searchBar.subviews[0].subviews[0] as! UIImageView).alpha = 0