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