寻求更新的(iOS 13)答案后,我没有找到解决这个简单问题的方案:
如何更改 UISearchBar
中占位符的textColor
?
我的应用程序不处理Light/Dark
模式。 我不希望系统更改我的UIPlaceHolder
文本颜色。 我希望它始终为白色
。
if #available(iOS 13.0, *) {
let attrString = NSMutableAttributedString(string: "My PlaceHolder")
attrString.addAttributes([NSAttributedString.Key.foregroundColor: UIColor.white], range: NSRange(location: 0, length: attrString.length))
searchController.searchBar.searchTextField.attributedPlaceholder = attrString
}
我本以为这段代码能够正常工作。我认为新属性searchTextField
会使自定义UISearchBar
更加容易。
编辑:
这段代码在viewDidAppear
方法中有点用处:
if #available(iOS 13.0, *) {
searchController.searchBar.searchTextField.attributedPlaceholder = NSAttributedString(string: "My PlaceHolder", attributes: [NSAttributedString.Key.foregroundColor: UIColor.white.withAlphaComponent(0.80)])
}
问题是当你向上或向下滚动时,颜色会改变。