出于某种原因,当我的按钮被禁用时,文本颜色变为白色.我希望它保持黑色 - 我怎么能这样做?
我有两个 NSButton,它们的开启状态和关闭状态都有图像。一次只能激活一个;单击一个,然后单击另一个以来回更改属性。
问题是,如果我在单击按钮时禁用它,因此无法再次单击它,那么在禁用按钮时图像会变暗——我不想让它变暗,我只想使用备用图像。另一方面,如果我只是让按钮处于启用状态,但以编程方式在单击它时不运行任何代码,那么当鼠标单击时会出现闪烁的效果——当按钮不应该执行任何操作时,这会分散注意力。
所以我要么需要防止按钮在禁用时变暗,要么在按住鼠标按钮时防止它改变按钮外观。
读完之后,听起来我需要子类化 NSButtonCell 并覆盖 - (BOOL)imageDimsWhenDisabled 来做前者。但我无法弄清楚如何对它进行子类化(我应该继承什么样的 NSButtonCell 类)以及 NSButton 的“setCell”方法是否足以使用新的 NSButtonCell 类,或者我是否还需要对 NSButton 进行子类化.
对此的一些提示将不胜感激,或者可能有一种完全不同的方法可以实现我的目标。