2017-08-17 43 views
0

我定製NSView子類,以顯示上右鍵單擊(按住Ctrl鍵)上下文菜單覆蓋menu(for:)獲取有關上下文菜單操作右擊事件的位置

我創建了適當的目標/行動菜單項,並將其添加到菜單。

我想實例化一個子視圖,並將其放置在其最初出現的右鍵點擊的位置;但是,不清楚如何獲取導致菜單顯示的原始點擊事件的位置。

該動作方法的參數sender獲取NSMenuItem實例,但是這似乎沒有任何屬性來確定其在屏幕(或其超級視圖)上的位置。

我怎麼能確定初始右鍵單擊事件的位置?

+0

你必須存儲(的位置)的原始事件的地方。你可以使用菜單項的'representObject'。 – Willeke

+0

如何?右鍵單擊不會觸發'mouseDown(with:)'。 –

+0

呵呵,你的意思是,將傳入的事件的位置存儲在'menu(for:)'中? –

回答

1

你必須存儲(的位置)傳遞給menu(for:)某個事件。您可以使用菜單項的RepresentObject。

相關問題