一旦控件获得焦点,我正在尝试子类化NSTokenField
以显示NSPopover
带有某些选项的菜单。不幸的是,经过几天的试探,我开始认为这是不可能的。
这是我到目前为止所尝试的:
-textDidBeginEditing
and是无用的-controlTextDidBeginEditing
,因为它们只有在用户输入第一个字母后才会被调用。我需要一些能集中注意力的东西。- 覆盖
-becomeFirstResponder
并-resignFirstResponder
显示和隐藏菜单或弹出框也没有用。令牌字段显然将第一响应者状态传递给私有视图 (NSTokenFieldView
),因此在关闭菜单或弹出框后立即-resignFirsttResponder
被调用。-becomeFirstReponder
-currentEditor
在关闭菜单之前,我尝试查看-resignFirstResponder
. 当-currentEditor
控件处于编辑模式时,它应该不为零,但不幸的是,它的值仅在-resignFirstResponder
调用令牌字段后才设置,并且菜单再次立即关闭。- 我尝试子类化
NSTokenFieldCell
并覆盖其-editWithFrame:
和-selectWithFrame:
方法,但我自定义的令牌字段NSTokenFieldCell
根本没有显示,也没有报告错误或异常。
关于如何做到这一点的任何想法?有人做过吗?