我有一个启用或禁用的NSTextField。我可以设置textColor,但这仅在启用文本字段时才对文本的颜色产生影响。
有什么想法如何设置禁用状态的文本颜色?
我已经尝试将NSTextField子类化,并按照Disable NSTextField without changing color of multi-colored text中的建议重写enable方法...但这对我不起作用。我猜是因为最新的SDK支持暗模式。
答案 0 :(得分:0)
简单的方法是覆盖resignFirstResponder
:
override func resignFirstResponder() -> Bool {
//change text color here...
return super.resignFirstResponder()
}
您只需在这里为喜欢的任何控件添加颜色更改代码...
如Apple 所述: 默认实现返回true,从而退出第一响应者状态。您可以在自定义响应器中重写此方法,以更新对象的状态或执行其他操作,例如从选择中删除突出显示。您还可以返回false,拒绝放弃第一响应者状态。如果您重写此方法,则必须在代码中的某个时刻调用super(超类实现)。