UISearchBar在iOS 7+中具有纯色

时间:2015-06-24 16:33:56

标签: ios iphone swift uikit uisearchbar

我尝试使用UISearchBar具有不同组合的所有属性,我已经搜索了一段时间但仍然无法解决问题。

问题: 我有一个UIViewController UITableView和故事板中的其他视图。我已将搜索栏和屏幕显示控制器添加到我的项目中(搜索栏已添加为UITableView的子视图/标题)

我需要将其设置为红色,没有透明度/半透明度以匹配我的导航栏。

我已经尝试过"解决方案"来自How to change background color of UISearchBar in iOS7,但它不起作用。此解决方案的结果如下所示:

searchDisplayController?.searchBar.barTintColor = UIColor.myAppRedColor()
searchDisplayController?.searchBar.translucent = false

First solution

如您所见 - 这与导航栏颜色并不完全匹配。它在导航栏和搜索栏之间也有一个分隔符。

下一个解决方案几乎有效:

searchDisplayController?.searchBar.backgroundImage = UIImage()
searchDisplayController?.searchBar.backgroundColor = UIColor.myAppRedColor()

Second solution, pic 1

但是当我点击搜索栏时,它会改变颜色:

Second solution, pic 2

它也有非常奇怪的动画: https://youtu.be/Dq1GKBGbmTc

你知道我还能做些什么而不是实现我自己的SearchBar吗?

1 个答案:

答案 0 :(得分:0)

请勿使用搜索显示控制器。而是只使用searchBar和TableView。 只需从故事板中删除搜索显示控制器即可。 您将收到searchBar的委托方法。 在这里,您可以在tableView上应用搜索。