如何显示类似 NSTextView 的上下文菜单

How to show NSTextView-like context menu

我想每次都为某个 NSString 对象(例如 "text")显示类似 NSTextView 的上下文菜单 -rightMouseDown-我自定义的方法 NSResponder-子类被调用。

我在哪里可以得到一些 NSString 的这些物品?

UPD

创建了 NSTextView 实例并使用了它的 -menuForEvent: 方法。有些项目被禁用(如 'copy' 等),我将其目标值重置为具有覆盖选择器的自定义对象(如 -copy: 等)。

NSTextView 是一个 NSView 子类,provides a class method +defaultMenu。因此,您可以要求 NSMenu * menu = [NSTextView defaultMenu]; 获得您自己的副本,随心所欲。您可能需要遍历其结构并自定义单个 NSMenuItem 实例以调整它们的 target/action 但大多数(全部?)应该与 nil-target(向第一响应者发送操作)及其默认操作一起正常工作。

不过,我必须承认,我不确定你所说的 "Where can I obtain these items for some NSString?" 上下文菜单是从某些 UI 控件(如文本视图)打开并发送其操作(如-checkSpelling...) 到某个目标(如第一响应者;它应该是文本视图之类的东西,充当字符串或属性字符串的视图)以进行操作。