获取有关上下文菜单操作右击事件的位置
问题描述:
我定制NSView
子类,以显示上右键单击(按住Ctrl键)上下文菜单覆盖menu(for:)
。获取有关上下文菜单操作右击事件的位置
我创建了适当的目标/行动菜单项,并将其添加到菜单。
我想实例化一个子视图,并将其放置在其最初出现的右键点击的位置;但是,不清楚如何获取导致菜单显示的原始点击事件的位置。
该动作方法的参数sender
获取NSMenuItem实例,但是这似乎没有任何属性来确定其在屏幕(或其超级视图)上的位置。
我怎么能确定初始右键单击事件的位置?
答
你必须存储(的位置)传递给menu(for:)
某个事件。您可以使用菜单项的RepresentObject。
你必须存储(的位置)的原始事件的地方。你可以使用菜单项的'representObject'。 – Willeke
如何?右键单击不会触发'mouseDown(with:)'。 –
呵呵,你的意思是,将传入的事件的位置存储在'menu(for:)'中? –