【发布时间】:2014-08-03 15:51:12
【问题描述】:
我尝试更改占位符文本颜色。此代码不起作用:
let color = NSColor.redColor()
let attrs = [NSForegroundColorAttributeName: color]
let placeHolderStr = NSAttributedString(string: "My placeholder", attributes: attrs)
myTextField.placeholderAttributedString = placeHolderStr
我收到错误 -[NSTextField setPlaceholderAttributedString:]: unrecognized selector sent to instance。有什么想法,如何更改占位符的颜色?
更新: 这有效:
(myTextField.cell() as NSTextFieldCell).placeholderAttributedString = placeHolderStr
更新 2: 嗯,它改变了颜色,但是如果文本字段获得焦点,占位符字体变小,很奇怪。
【问题讨论】:
-
虽然不是很理想,但您始终可以添加一个额外的属性来设置字体(NSFontAttributeName),这将防止占位符文本显示小于预期。
-
嗨,Lupurus,当占位符获得焦点时,您找到解决较小字体大小的方法了吗?我也有同样的问题。
-
看到相同并想知道如何修复它,尽管当您不使用设置时占位符会消失@Daniel