「Swift」UITextField如何设置Placeholder?

UITextField的属性

open var placeholder: String? // default is nil. string is drawn 70% gray

如何设置文本?

toutiaoTextField.placeholder = "请输入头条文章标题"

那么如何设置placeholder的颜色呢?

toutiaoTextField.setValue(UIColor.red, forKeyPath: "_placeholderLabel.textColor")

上方实现方式也是我们熟悉的KVC写法了,但是在iOS 13上会出现闪退,已经不能使用了。

报错信息如下:

"Access to UITextField's _placeholderLabel ivar is prohibited. This is an application bug"

另外一种方案:设置placeholder的颜色和文本

let toutiaoAtt = [NSAttributedString.Key.foregroundColor: UIColor.red]
toutiaoTextField.attributedPlaceholder = NSAttributedString.init(string: "请输入头条文章标题", attributes: toutiaoAtt)

希望此文能帮助到您,谢谢!

原文链接:,转发请注明来源!