我有一个搜索栏: let searchBar:UISearchBar = UISearchBar(frame: CGRectMake((searchView.frame.width - UIScreen.mainScreen().bounds.width / 1.6) / 2, 0, UIScreen.mainScreen().bounds.width / 1.6, 24)) 我想改变文字输入部分的背
let searchBar:UISearchBar = UISearchBar(frame: CGRectMake((searchView.frame.width - UIScreen.mainScreen().bounds.width / 1.6) / 2, 0, UIScreen.mainScreen().bounds.width / 1.6, 24))
我想改变文字输入部分的背景颜色.为此,我尝试过:
searchBar.barTintColor = UIColor(red: 0/255, green: 74/255, blue: 103/255, alpha: 1) searchBar.backgroundColor = UIColor.redColor()
但这两种变体都不起作用.如何更改我的UISearchBar textInput部分的背景颜色以及我做错了什么?
如果您只想在ViewController中更改它并且不希望其他任何地方生效,那么请使用for view in searchBar.subviews { for subview in view.subviews { if subview .isKindOfClass(UITextField) { let textField: UITextField = subview as! UITextField textField.backgroundColor = UIColor.redColor() } } }
但是如果你想让它在整个应用程序中进行更改并定位到iOS 9.0或更高版本,那么应该使用appearanceWhenContainedInInstancesOfClasses之类的
UITextField.appearanceWhenContainedInInstancesOfClasses([UISearchBar.self]).backgroundColor = UIColor.redColor()