我有一个实现深蓝色的设计UITextField,因为默认情况下,占位符文本为深灰色,所以我几乎无法分辨出占位符文本的含义。
UITextField
我已经用谷歌搜索了这个问题,但是我还没有想出使用Swift语言而不是Obj-c的解决方案。
有没有一种方法可以UITextField使用Swift 更改占位符文本的颜色?
您可以使用 属性字符串 设置占位符文本。通过:传递所需的颜色attributes:
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])