当前位置 : 主页 > 手机开发 > ios >

ios – 无法更改搜索栏背景颜色

来源:互联网 收集:自由互联 发布时间:2021-06-11
我有一个搜索栏: 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()
网友评论