【问题标题】:search bar text field background color swift搜索栏文本字段背景颜色swift
【发布时间】:2020-07-01 13:29:01
【问题描述】:

我在更改搜索栏文本字段的颜色时遇到问题。我尝试了很多变体来改变这种颜色,但我总是在那个文本字段上有一个灰色的背景。关于如何解决它的任何想法?谢谢!

private func setupSearchBar(){
    searchBarOutlet.layer.cornerRadius = 6
    searchBarOutlet.layer.masksToBounds = true
    searchBarOutlet.layer.borderWidth = 1.5
    searchBarOutlet.layer.borderColor = UIColor.init(hexFromString: "7E5BEB").cgColor
    searchBarOutlet.isTranslucent = true
    if #available(iOS 13.0, *) {
        searchBarOutlet.searchTextField.backgroundColor = .white
        searchBarOutlet.searchTextField.tokenBackgroundColor = .white
        searchBarOutlet.searchTextField.tintColor = .clear
    } else {
        searchBarOutlet.textField.textColor = .black
        searchBarOutlet.textField.backgroundColor = .white
        searchBarOutlet.textField.tintColor = .white
    }
    searchBarOutlet.backgroundColor = .white
    searchBarOutlet.barTintColor = .white
    searchBarOutlet.setImage(#imageLiteral(resourceName: "Search icon"), for: .search, state: .normal)
}

【问题讨论】:

    标签: swift uisearchbar searchbar


    【解决方案1】:

    您可以简单地将UISearchBar 实例的barTintColor 设置为您需要的颜色,即

    searchBarOutlet.barTintColor = .white
    

    并使用backgroundColor改变searchTextField的背景颜色

    searchBarOutlet.searchTextField.backgroundColor = .white
    

    所以,下面的代码可以根据您的要求正常工作

    searchBarOutlet.layer.cornerRadius = 6
    searchBarOutlet.layer.masksToBounds = true
    searchBarOutlet.layer.borderWidth = 1.5
    searchBarOutlet.layer.borderColor = UIColor.init(hexFromString: "7E5BEB").cgColor
    searchBarOutlet.isTranslucent = true
    searchBarOutlet.barTintColor = .white
    searchBarOutlet.searchTextField.backgroundColor = .white
    

    截图:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-10
      • 1970-01-01
      • 2018-07-31
      • 2016-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多