2011-02-25 85 views

回答

17

右击窗口中的视图,你会发现一个名为“菜单”的属性。将此菜单属性与右键单击后应显示的菜单相连接。

+8

如果您稍后在收件箱中看到此内容,并想知道人们如何评价您删除的答案:我编辑了您的答案以修复一个不准确的问题,并呼吁在Twitter上跟随我的Stack Overflow用户投票拒绝删除它。在我和其他两位投了这样的选票之后,你现在正确的答案变得没有了。 – 2011-02-25 23:21:01

+0

这很出色!没有额外的代码! :) 非常感谢! – 2011-02-26 13:49:40

4

是的。 NSWindow继承自NSResponder,其中有便利的方法,如-rightMouseDown:

编辑

其实更好的办法来做到这一点可能是使用自定义NSView子类窗口的contentView,并覆盖-menuForEvent:(上NSView的方法)与传递回你的右键菜单NSEvent是一个右键单击事件。

+0

好吧,那很好。我怎么会让用户右键点击时看到NSMenu? – 2011-02-25 18:34:10

+0

@magikseb:更新答案(可能)更好的方法。 – 2011-02-25 18:41:53

+0

我对此毫无希望......这是正确的吗?我从哪里出发? - (无效)menuForEvent:(NSEvent *)事件,然后我把if(event == NSRightMouseDown) – 2011-02-25 19:08:26