我希望每次调用我的自定义 NSResponder
-subclass的 -rightMouseDown
-method时,为某个 NSString
对象(例如,"text")提供类似NSTextView的上下文菜单 .
我在哪里可以获得某些 NSString
的这些物品?
UPD
创建 NSTextView
实例并使用其 -menuForEvent:
-method . 一些项目被禁用(如'copy'等),我将其目标值重置为具有重写选择器的自定义对象(如 -copy:
和其他) .
1 回答
NSTextView
是NSView
的子类,provides a class method+defaultMenu
. 因此,您可以要求NSMenu * menu = [NSTextView defaultMenu];
随意获取您自己的副本 . 您可能必须遍历其结构并自定义单个NSMenuItem
实例以调整其目标/操作,但大多数(全部?)应该可以正常使用nil-target(向第一响应者发送操作)及其默认操作 .但我必须承认,我不确定你的意思是“我在哪里可以获得某些
NSString
?”从某些UI控件(如文本视图)打开上下文菜单,并将其操作(如-checkSpelling...
)发送到某个目标(如第一个响应者;它应该类似于文本视图,它充当字符串的视图或归因于字符串) .