搜索栏色调颜色

search bar tint color

在我的应用程序中,我设置了这样的搜索器:

searchBar.delegate = self
searchBar.showsCancelButton = true
searchBar.tintColor = UIColor.whiteColor()
searchBar.spellCheckingType = .No
searchBar.autocapitalizationType = .None
searchBar.autocorrectionType = .No
searchBar.returnKeyType = .Done
searchBar.sizeToFit()

let view: UIView = self.searchBar.subviews[0] as UIView
   for subView: UIView in view.subviews {
      if subView.isKindOfClass(UITextField){
         subView.tintColor = UIColor.greenColor()
         }
      }

此代码部分为我的取消按钮设置了白色文本颜色,为我的搜索字段设置了绿色。

如您所见,光标将为绿色,但文本颜色为黑色。 我的错误是什么?

你在哪里:

 if subView.isKindOfClass(UITextField){
      subView.tintColor = UIColor.greenColor()
 }

更改为:

 if let textView = subView as? UITextField {
      textView.tintColor = UIColor.greenColor()
      textView.textColor = UIColor.greenColor()
 }

swift 的最简单解决方案是:

let searchField = searchBar.value(forKey: "searchField") as! UITextField
searchField.tintColor = orangeColor