首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自NSButton的NSEvent

来自NSButton的NSEvent
EN

Stack Overflow用户
提问于 2017-04-20 21:58:21
回答 1查看 346关注 0票数 0

我有一个NSTableView,每一行都包含一个按钮。我还有一个与表相关联的菜单。

问题是:我想在点击按钮时显示菜单。如果可能,请不要在右击时显示。

操作方法为:

代码语言:javascript
复制
- (IBAction)showMenu:(NSButton *)button {
    NSLog(@"show menu");
    NSMenu *menu = [self.tableView menu];
    NSEvent *event = [[NSEvent alloc] init];


    [NSMenu popUpContextMenu:menu
                   withEvent:event
                     forView:button];

}

下面是如何处理event的?如果我使用nil,那么菜单显示在左下角,而不是按钮旁边。

任何指导都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2017-04-20 22:42:14

您可以尝试使用-[NSMenu popUpMenuPositioningItem:atLocation:inView:]。此方法不接受NSEvent参数。相反,您可以为其提供一个视图和视图坐标系中的一个位置,并且菜单将自身(或其中的一个项目)定位在该位置上。

但我建议你根本不要使用NSButton。如果您使用的是NSPopUpButton,它将负责在单击鼠标左键时在正确位置显示菜单。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43521656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档