コントロールがフォーカスを取得したら、いくつかのオプションを含むまたはメニューをNSTokenField
表示するようにサブクラス化しようとしています。NSPopover
残念ながら、数日間の暫定的な後、私はそれが不可能だと考え始めています.
これが私がこれまでに試したことです:
-textDidBeginEditing
とは-controlTextDidBeginEditing
、ユーザーが最初の文字を入力した後にのみ呼び出されるため、役に立ちません。フォーカスで起動するものが必要です。- メニューまたはポップオーバーをオーバーライド
-becomeFirstResponder
し-resignFirstResponder
て表示および非表示にすることも役に立ちません。tokenfield は明らかにファーストレスポンダーのステータスをプライベート ビュー (NSTokenFieldView
) に渡すため、メニューまたはポップオーバーを閉じた-resignFirsttResponder
直後に呼び出されます。-becomeFirstReponder
-currentEditor
のメニューを閉じる前にの値を監視してみました-resignFirstResponder
。コントロールが編集モードの-currentEditor
ときは非 nil である必要がありますが、残念ながらその値は-resignFirstResponder
tokenfield が呼び出された後にのみ設定され、もう一度メニューがすぐに閉じられます。- メソッドをサブクラス化し
NSTokenFieldCell
てオーバーライドしよう-editWithFrame:
と-selectWithFrame:
しましたが、カスタムのトークンフィールドNSTokenFieldCell
はまったく表示されず、エラーや例外も報告されません。
これを行う方法について何か考えはありますか?誰かがやったことがありますか?