目标是修改clearButton的颜色,就是编辑时出现的一个叉子。
百度说,修改TintColor,但没有起作用。
所以自己试出来,发出来让大家避个坑,简单的紧,我就少说两句
let searchBar = UISearchBar(frame: CGRect(x: 10, y: 200, width: 355, height: 44))
searchBar.backgroundColor = UIColor.black
searchBar.searchTextField.clearButtonMode = .always
let btn = searchBar.searchTextField.value(forKey: "clearButton") as? UIButton
btn?.backgroundColor = UIColor.green
btn?.tintColor = UIColor.orange
//MARK: 重点就是这句,系统用的图片其实就是这个,这里给他重置一下,后面的图片就着色了,如果不设置这个,btn的TintColor就也无效。
btn?.setImage(UIImage.init(systemName: "xmark.circle.fill"), for: UIControl.State.normal)
self.view.addSubview(searchBar)
结果如图:
结果
网友评论