NSTextField设置禁用的文本颜色

时间:2019-05-27 12:59:05

标签: cocoa nstextfield

我有一个启用或禁用的NSTextField。我可以设置textColor,但这仅在启用文本字段时才对文本的颜色产生影响。

有什么想法如何设置禁用状态的文本颜色?

我已经尝试将NSTextField子类化,并按照Disable NSTextField without changing color of multi-colored text中的建议重写enable方法...但这对我不起作用。我猜是因为最新的SDK支持暗模式。

1 个答案:

答案 0 :(得分:0)

简单的方法是覆盖resignFirstResponder

override func resignFirstResponder() -> Bool {
    //change text color here...

    return super.resignFirstResponder()
}

您只需在这里为喜欢的任何控件添加颜色更改代码...

Apple 所述: 默认实现返回true,从而退出第一响应者状态。您可以在自定义响应器中重写此方法,以更新对象的状态或执行其他操作,例如从选择中删除突出显示。您还可以返回false,拒绝放弃第一响应者状态。如果您重写此方法,则必须在代码中的某个时刻调用super(超类实现)。

相关问题