以编程方式设置UITextField占位符颜色

时间:2014-09-05 05:23:10

标签: swift uitextfield

如何在swift中以编程方式设置UITextField占位符颜色?

3 个答案:

答案 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)])
相关问题