gpt4 book ai didi

objective-c - 获取 NSMenuItem 的启动器

转载 作者:行者123 更新时间:2023-12-03 17:50:52 25 4
gpt4 key购买 nike

我有一个包含 3 个图像的 View ,这些图像在其类中有自己的 @property 。当我右键单击这些图像之一时,我会显示一个 NSMenu 以及包含 NSMenuItems 的子菜单。所有项目都发送到名为 - (IBAction)selectImage:(id)senderIBAction,每个项目都有不同的标签sender 当然是NSMenuItem。如何找出用户右键单击了哪个图像?所以我基本上是在寻找发送者的父级的调用者。

或者也许,我构建的菜单全错了?

最佳答案

您将覆盖 -menuForEvent:在您的 View 类中并存储对事件的引用,记住位置,或确定哪个图像被击中并记住。然后,在操作方法中,您将使用记住的事件/位置/图像索引来确定如何响应。

当然,要获取 View 坐标中的事件位置,您可以这样做:

NSPoint point = [self convertPoint:event.locationInWindow fromView:nil];

当测试该点是否位于 View 的特定部分时,您应该使用:

if ([self mouse:point inRect:rectOfInterest])
// ...

关于objective-c - 获取 NSMenuItem 的启动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27177984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com