2012-08-02 55 views
1

我有兩個NSButton,它們的狀態和關閉狀態都有圖像。一次只有一個人應該積極主動;點擊一個,然後點擊另一個來回更改屬性。按下或禁用時不要更改NSButton的外觀

問題是,如果我點擊一個按鈕時禁用了一個按鈕,所以它不能再次點擊,那麼當按鈕被禁用時圖像會變暗 - 而且我不希望它變暗,我只想使用備用圖像。另一方面,如果我只是啓用了按鈕,但通過編程方式只是在點擊時不運行任何代碼,那麼當鼠標單擊時會出現閃爍效果 - 當按鈕不應該執行任何操作時,該按鈕會分散注意力。

因此,我需要防止按鈕被禁用時變暗,或者在鼠標按鈕被按下時阻止它改變按鈕外觀。

讀完後,它聽起來像我需要繼承NSButtonCell並覆蓋 - (BOOL)imageDimsWhenDisabled做前者。但我無法弄清楚如何繼承它(我應該繼承什麼樣的NSButtonCell類),以及如果NSButton的「setCell」方法足以使用新的NSButtonCell類,或者如果我需要繼承NSButton 。

關於這方面的一些提示將不勝感激,或者有一種完全不同的方法可以實現我的目標。

+0

你爲什麼不只是設置''NSButtonCell'到imageDimsWhenDisabled''NO'? – Dustin 2012-08-02 16:13:11

回答

3

檢查了這一點:

[btnInfo.cell setImageDimsWhenDisabled:NO];

+1

不起作用... – 2014-11-11 00:35:51