获取上下文菜单操作上右键单击事件的位置

Get the Location of Right Click Event on Context Menu Action

我的自定义 NSView 子类覆盖 menu(for:) 以便在右键单击(按住 Ctrl 键单击)时显示上下文菜单。

我用适当的 target/action 创建了一个菜单项,并将其添加到菜单中。

我想实例化一个子视图并将其放置在最初发生右键单击的位置;但是,不清楚如何获取导致显示菜单的原始单击事件的位置。

action 方法的 sender 参数获取 NSMenuItem 实例,但这似乎没有任何 属性 来确定其在屏幕(或其父视图)上的位置。

如何确定初始右键单击事件的位置?

您必须将传递给 menu(for:) 的事件(的位置)存储在某处。可以使用菜单项的representedObject。