2

在我的应用程序中,我有三个NSImageView. 当用户在图像视图上单击鼠标右键时,我将显示NSMenu其中两个NSMenuItem“添加照片”、“删除照片”。由于我有三个 Imageview 我需要知道哪个 imageview 显示菜单。这样我就可以只为那个 imageview 做我的事情。

那么我该怎么做呢?我在窗口中找不到 NSMenu 的位置。

4

1 回答 1

1

如果您知道上下文(右键单击)菜单何时出现在您的应用程序中,您应该能够获得NSEvent它发生的原始“”数据。要检测它的发生,您有几个选项(例如在您的“ ”子类中覆盖“ ” )rightMouseDown:NSWindow

在那个“ NSEvent”中,您可以获取locationInWindow(我已经为您链接了 Apple 文档)。使用该信息,您可以检查鼠标向下是否落在三个图像视图框架的边界内。

然后您就会知道要添加或删除哪张照片。

于 2012-11-07T11:04:35.853 回答