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