2011-10-24 43 views
2

有一種方法可以在點擊後隱藏NSMenu。點擊後不要隱藏NSMenu

謝謝。

+0

請注意,如果我問你爲什麼要防止菜單關閉?這樣做會與用戶對菜單如何表現的期望產生衝突。 'cancelTracking'絕對不是你想要的:*「解散菜單並結束所有菜單跟蹤」*(來自NSMenu類文檔)。 –

+0

這是一個菜單欄應用程序... – rafa

回答

3

不,我寫了幾個菜單欄應用程序,我發現禁用菜單關閉的唯一方法是子類化NSMenuItem並執行您自己的事件處理。不幸的是,這也意味着你必須使用自定義視圖,做你自己的標題繪圖,菜單高亮和「閃光」動畫。

1

另一種選擇是切換到基於視圖的菜單項。然後在您的視圖班級中,回覆- (void) mouseUp:(NSEvent*) event並實施您的自定義行爲。該菜單不會在點擊時關閉,因爲該事件不再通過響應者鏈轉發到菜單項。