当我尝试更改搜索栏的textfield
的文字颜色或占位符文字颜色时,没有任何反应。
文本字段嵌入在搜索控制器的搜索栏中。
这是我正在使用的代码:
let textField = self.searchController.searchBar.value(forKey: "searchField") as! UITextField
textField.textColor = .white
我觉得有趣的是,当我尝试更改它的色调时,它会起作用:
textField.tintColor = .white
有谁知道为什么会这样?
我正在尝试将文本和占位符文本颜色设置为白色。
谢谢!
答案 0 :(得分:1)
以下是您的操作方法:
let textField = searchBar.value(forKey: "searchField") as? UITextField
textField?.textColor = .white
textField?.attributedPlaceholder = NSAttributedString(string: "Placeholder", attributes: [NSForegroundColorAttributeName: UIColor.white])
首先获取textField
并设置textColor
,然后为attributedPlaceholder
设置textField
。
<强>更新强>
对于您的searchController,请执行以下操作:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
let textField = self.searchController.searchBar.value(forKey: "searchField") as? UITextField
textField?.textColor = .white
textField?.attributedPlaceholder = NSAttributedString(string: "1334", attributes: [NSAttributedStringKey.foregroundColor: UIColor.white])
}
答案 1 :(得分:0)
更改textView的placeHolder颜色:
textField.attributedPlaceholder = NSAttributedString(string:"Your placeholder",
attributes: [NSForegroundColorAttributeName: //your color])
一些解释。您需要访问attributedPlaceholder
的属性UItextField
以定位textField的占位符。然后,您需要向占位符添加属性。在您的情况下,此属性为NSForegroundColorAttributeName
,用于控制前瞻性颜色。最后只需添加一个UIColor
,如UIColor.white ......