一尘不染

使用Swift更改占位符文本颜色

swift

我有一个实现深蓝色的设计UITextField,因为默认情况下,占位符文本为深灰色,所以我几乎无法分辨出占位符文本的含义。

我已经用谷歌搜索了这个问题,但是我还没有想出使用Swift语言而不是Obj-c的解决方案。

有没有一种方法可以UITextField使用Swift 更改占位符文本的颜色?


阅读 254

收藏
2020-07-07

共1个答案

一尘不染

您可以使用 属性字符串 设置占位符文本。通过:传递所需的颜色attributes

var myTextField = UITextField(frame: CGRect(x: 0, y: 0, width: 200, height: 30))
myTextField.backgroundColor = .blue
myTextField.attributedPlaceholder = NSAttributedString(string: "placeholder text",
                             attributes: [NSForegroundColorAttributeName: UIColor.yellow])

对于Swift 3+,请使用以下命令:

myTextField.attributedPlaceholder = NSAttributedString(string: "placeholder text",
                             attributes: [NSAttributedStringKey.foregroundColor: UIColor.white])

对于Swift 4.2,请使用以下命令:

myTextField.attributedPlaceholder = NSAttributedString(string: "placeholder text",
                             attributes: [NSAttributedString.Key.foregroundColor: UIColor.white])
2020-07-07