如何在swift中以编程方式设置UITextField占位符颜色?
答案 0 :(得分:19)
1 - 使用您想要的颜色创建一个AttributedString 2 - 将此AttributedString设置为textfield attributesPlaceholder属性
let placeholder = NSAttributedString(string: "Some", attributes: [NSForegroundColorAttributeName : UIColor.redColor()])
let textField = UITextField(frame: CGRect(x: 0, y: 0, width: 100, height: 30));
textField.attributedPlaceholder = placeholder;
self.view.addSubview(textField)
来自Apple文档
var attributedPlaceholder: NSAttributedString!
默认情况下,此属性为零。如果设置,则使用70%灰色和属性字符串的剩余样式信息(文本颜色除外)绘制占位符字符串。为此属性分配新值也会使用相同的字符串数据替换占位符属性的值,尽管没有任何格式设置信息。为此属性指定新值不会影响文本字段的任何其他与样式相关的属性。
答案 1 :(得分:1)
captionField=UITextField()
captionField.frame=CGRectMake(0, 0, 100, 40)
var placeHolder=NSAttributedString(string: "Enter caption", attributes: [NSForegroundColorAttributeName : UIColor.redColor()])
captionField.attributedPlaceholder=placeHolder
captionField.textColor=UIColor.whiteColor()
答案 2 :(得分:0)
如果您需要添加Alpha值:
var placeholder = NSAttributedString(string: "Password", attributes: [NSForegroundColorAttributeName : UIColor(white: 0.6, alpha: 0.5)])