0
这里是我的UITextField
子类的简单化下来的版本:无法设置归因占位符的文本颜色的子类的UITextField
class MyTextField: UITextField {
override func drawPlaceholder(in rect: CGRect) {
if let placeholder = self.placeholder {
print(placeholder) // -> prints the value
let attributes = [NSForegroundColorAttributeName: UIColor.red]
self.attributedPlaceholder = NSAttributedString(string: placeholder, attributes: attributes)
}
}
}
在IB,文本字段被分配到我的子类,但它不会不管我把它作为“普通”或“归因”,字体,颜色等。我给它一个初始占位符值,但是当我运行该应用程序时,它只是空白。有什么建议么?
我是不是试图用这一行来绘制''属性'Placeholder'? 'self.attributedPlaceholder = NSAttributedString(string:placeholder,attributes:attributes)' – Aaron
根本不是。该代码只是设置属性,但不执行任何绘图。该绘图通常在'drawPlaceholder'方法中完成,但您正在阻止该代码运行。 – rmaddy
对“super”的调用是修复。空头的错误。我不知道如何实现在'placeholder'属性的重写中设置'属性Placeholder',但感谢您的建议! – Aaron