如何获取 UISearchBar 的默认灰色
How to get default gray color of UISearchBar
我的布局将 UISearchController
的搜索栏作为我的 table 视图 header 的子视图,与其他自定义控件(按钮等)放在一起。
为了使 header 视图中的所有控件变为 "blend in",我想将 header 视图的背景颜色设置为与搜索栏的背景颜色相匹配(即,外缘是浅灰色,不是输入文本框的白色)。
我尝试在 viewDidLoad()
中查询搜索栏的 backgroundColor
和 barTintColor
属性,但是 return nil
和我的 header 视图结束 白色.
我 可以 对颜色进行硬编码(ColorPicker 报告它是 RGB (199, 199, 204)
,至少在模拟器上是这样),但这不是一个优雅的解决方案并且会破坏一个苹果改头换面的日子
搜索栏的背景实际上是一张图片,因此您无法检索它的背景颜色。但是,如果您只是想让它融入其中,那么您可以将 imageView 更改为透明并将背景颜色设置为您想要的任何颜色。使用 Xcode 中的视图调试器发现 UIImageView 位于此处。
在Swift 2.0
(searchBar.subviews[0].subviews[0] as! UIImageView).alpha = 0
我的布局将 UISearchController
的搜索栏作为我的 table 视图 header 的子视图,与其他自定义控件(按钮等)放在一起。
为了使 header 视图中的所有控件变为 "blend in",我想将 header 视图的背景颜色设置为与搜索栏的背景颜色相匹配(即,外缘是浅灰色,不是输入文本框的白色)。
我尝试在 viewDidLoad()
中查询搜索栏的 backgroundColor
和 barTintColor
属性,但是 return nil
和我的 header 视图结束 白色.
我 可以 对颜色进行硬编码(ColorPicker 报告它是 RGB (199, 199, 204)
,至少在模拟器上是这样),但这不是一个优雅的解决方案并且会破坏一个苹果改头换面的日子
搜索栏的背景实际上是一张图片,因此您无法检索它的背景颜色。但是,如果您只是想让它融入其中,那么您可以将 imageView 更改为透明并将背景颜色设置为您想要的任何颜色。使用 Xcode 中的视图调试器发现 UIImageView 位于此处。
在Swift 2.0
(searchBar.subviews[0].subviews[0] as! UIImageView).alpha = 0