seacrhDisplayController

时间:2017-03-23 16:33:55

标签: ios swift xcode uisearchdisplaycontroller

我的应用中有搜索栏,问题是当我点击开始输入搜索栏更改颜色时。我想以编程方式设置它(通过self.seacrhDisplayController.searchBar),但它是只读的。知道如何设置确切的颜色吗? 感谢

search bar in my view controller

search bar in search display controller

1 个答案:

答案 0 :(得分:1)

这是通过

完成的
self.searchDisplayController?.searchBar.barTintColor = UIColor.black
self.searchDisplayController?.searchBar.isTranslucent = false

如果您使用Storyboard创建它,请先确认

  • SearchDisplayController 引用插座设置为文件所有者
  • 搜索栏 引用插座设置为搜索显示控制器

编辑 - 添加了图片和Alpha解决方案

需要删除背景图像或设置具有所需颜色的背景图像。

enter image description here

self.searchDisplayController?.searchBar.backgroundImage = UIImage() 要么 self.searchDisplayController?.searchBar.backgroundImage = UIImage(named: "search_background")

注意: 如果你想要删除已弃用的警告,你必须改为创建一个UISearchController,这不适用于Storyboard

Useful UISearchController tutorial

希望这有帮助。