從OS X 10.10開始,大多數NSStatusItem已被棄用,以支持button
屬性,該屬性由NSStatusBarButton組成。它應該像普通按鈕一樣工作,但不幸的是,NSStatusButton中的cell
和setCell
方法也被棄用。由於這個原因,我正在努力尋找一種方法來保持點擊之後突出顯示的按鈕(通常這個按鈕在鼠標下方突出顯示,而在鼠標上方突出顯示時不會突出顯示,我想在鼠標點亮後保持突出顯示)。NSStatusBarButton保持突出顯示
在其動作中調用[NSStatusButton setHighlighted:]
不起作用,因爲它在鼠標啓動後似乎不會亮起自己。另一方面,在下一個循環中使用延遲來呼叫它,即[self performSelector: withDelay:]
導致突出顯示以相當不美觀的方式閃爍。它有效,但看起來不太好。
將按鈕類型設置爲NSToggleButton
可以完全消除高光,而是突出顯示奇怪的模板圖像。
那些是我能想到的唯一方法。反正有重寫這個NSButtonCell mouseUp行爲嗎?
你從哪裏讀到'NSStatusItem'已被棄用? – PnotNP 2014-10-08 23:48:38
@NulledPointer https://developer.apple.com/library/prerelease/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSStatusItem_Class/index.html#//apple_ref/doc/uid/TP40004118 – Luke 2014-10-10 07:38:58
NSStatusItem未被棄用,它的幾種方法在10.10中已被棄用。 – ctpenrose 2015-01-06 22:42:09