在我的应用中,我有三个NSImageView
。当用户右键单击imageview时,我显示NSMenu
两个NSMenuItem
s“添加照片”,“删除照片”。由于我有三个Imageview,我需要知道哪个imageview显示菜单。所以我只能为那个imageview做我的东西。
那我该怎么做呢?我无法在窗口中找到NSMenu的位置。
答案 0 :(得分:1)
如果您知道应用中的上下文(右键单击)菜单何时出现,您应该能够获得原始的“NSEvent
”数据。要检测它发生,您有几个选项(like overriding "rightMouseDown:
" in your "NSWindow
" subclass)。
在“NSEvent
”中,您可以获取locationInWindow
(我已经为您链接了Apple文档)。使用该信息,您可以检查鼠标是否落在三个图像视图帧的边界内。
然后你就会知道要添加或删除哪张照片。