如何将自定义项添加到NSTextField';Cocoa中的上下文菜单?

如何将自定义项添加到NSTextField';Cocoa中的上下文菜单?,cocoa,swift,contextmenu,Cocoa,Swift,Contextmenu,当用户调用NSTextField的上下文菜单时,Cocoa将显示一个包含常用标准项的菜单。我可以在菜单中添加我自己的项目吗?如果可以,如何添加 顺便说一下,我用的是斯威夫特。谢谢。您需要使用用于文本字段的字段编辑器进行干预。文本字段不直接处理其内容的编辑。它们使用文本视图(NSTextView的实例或子类)来实现这一点。该文本视图称为字段编辑器 文本视图可以有一个委托,该委托可以实现方法-textView:menu:forEvent:atIndex:,以自定义上下文菜单。问题是,当文本视图作为字

当用户调用NSTextField的上下文菜单时,Cocoa将显示一个包含常用标准项的菜单。我可以在菜单中添加我自己的项目吗?如果可以,如何添加


顺便说一下,我用的是斯威夫特。谢谢。

您需要使用用于文本字段的字段编辑器进行干预。文本字段不直接处理其内容的编辑。它们使用文本视图(NSTextView的实例或子类)来实现这一点。该文本视图称为字段编辑器

文本视图可以有一个委托,该委托可以实现方法
-textView:menu:forEvent:atIndex:
,以自定义上下文菜单。问题是,当文本视图作为字段编辑器运行时,它的委托始终是它所代表的控件。因此,您不能将自己的任意对象(如某个窗口或视图控制器)设置为其委托


因此,您必须使用
NSTextField
的自定义子类,以便有机会自定义上下文菜单。在您的子类中,实现该方法并在返回之前自定义传入的菜单(或者如果愿意,返回完全不同的菜单)。

您需要使用用于文本字段的字段编辑器进行干预。文本字段不直接处理其内容的编辑。它们使用文本视图(NSTextView的实例或子类)来实现这一点。该文本视图称为字段编辑器

文本视图可以有一个委托,该委托可以实现方法
-textView:menu:forEvent:atIndex:
,以自定义上下文菜单。问题是,当文本视图作为字段编辑器运行时,它的委托始终是它所代表的控件。因此,您不能将自己的任意对象(如某个窗口或视图控制器)设置为其委托


因此,您必须使用
NSTextField
的自定义子类,以便有机会自定义上下文菜单。在您的子类中,实现该方法并在返回之前自定义传入的菜单(或者如果愿意,返回完全不同的菜单)。

您需要使用用于文本字段的字段编辑器进行干预。文本字段不直接处理其内容的编辑。它们使用文本视图(NSTextView的实例或子类)来实现这一点。该文本视图称为字段编辑器

文本视图可以有一个委托,该委托可以实现方法
-textView:menu:forEvent:atIndex:
,以自定义上下文菜单。问题是,当文本视图作为字段编辑器运行时,它的委托始终是它所代表的控件。因此,您不能将自己的任意对象(如某个窗口或视图控制器)设置为其委托


因此,您必须使用
NSTextField
的自定义子类,以便有机会自定义上下文菜单。在您的子类中,实现该方法并在返回之前自定义传入的菜单(或者如果愿意,返回完全不同的菜单)。

您需要使用用于文本字段的字段编辑器进行干预。文本字段不直接处理其内容的编辑。它们使用文本视图(NSTextView的实例或子类)来实现这一点。该文本视图称为字段编辑器

文本视图可以有一个委托,该委托可以实现方法
-textView:menu:forEvent:atIndex:
,以自定义上下文菜单。问题是,当文本视图作为字段编辑器运行时,它的委托始终是它所代表的控件。因此,您不能将自己的任意对象(如某个窗口或视图控制器)设置为其委托


因此,您必须使用
NSTextField
的自定义子类,以便有机会自定义上下文菜单。在您的子类中,实现该方法并在返回之前自定义传入的菜单(或者如果愿意,返回完全不同的菜单)。

您的意思是仅在您自己的应用程序中?还是要在所有应用程序的文本字段中添加上下文菜单项?在我自己的应用程序中,针对一个特定字段。您的意思是仅在您自己的应用程序中?还是要在所有应用程序的文本字段中添加上下文菜单项?在我自己的应用程序中,针对一个特定字段。您的意思是仅在您自己的应用程序中?还是要在所有应用程序的文本字段中添加上下文菜单项?在我自己的应用程序中,针对一个特定字段。您的意思是仅在您自己的应用程序中?还是要在所有应用程序的文本字段中添加上下文菜单项?在我自己的应用程序中,为一个特定字段添加上下文菜单项。