2015-10-08 50 views
0

有沒有一種方法來自定義在右鍵單擊工具欄(或包含它的窗口的標題欄)時彈出的上下文菜單? 幾個蘋果應用程序(XCode,Safari,Mail和其他人似乎可以刪除或隱藏某些菜單項),但我找不到訪問NSMenu的方法。我如何自定義OS X El Capitan上的NSToolbar上下文菜單?

這裏是我試過到目前爲止:

  • 試圖去的菜單,因爲我做了以前的OS X版本(如下解釋:How to customize the context menu of NSToolbar?):返回NSMenu爲零
  • 試圖重寫rightMouseDown:在包含工具欄NSWindow:該方法不叫
  • 試圖重寫menuForEvent:在窗口的內容視圖(我取代默認的內容視圖使用自定義的NSView此):該方法不叫
  • 試圖重覆e rightMouseDown:在窗口的內容視圖中(我用一個自定義NSView替換默認內容視圖):方法不叫

任何幫助將不勝感激。

回答

0

我實際上是通過在調試器中檢查一些東西並修補一下來找到答案的。在El Capitan上,一個工作解決方案是獲得如下菜單:

NSView * theContentView = myWindow.contentView; 
NSMenu * theCustomizeMenu = theContentView.superview.menu; 
相關問題