ステータス項目内にテキストフィールドがあり、ステータス項目をクリックするとすぐにアクティブにしたいと考えています。私はいつもbecomeFirstResponder
をapplicationDidFinishLaunching
に、その後awakeFromNib
で試しましたが、動作しませんでした。これらのメソッドが起動時に呼び出されたときにステータス項目のメニューが開いていないことが考えられます。おそらく無視しています。次に、ステータスアイテムがクリックされたときにアクションを設定しようとしましたが、ステータスアイテムにドロップダウンメニューがない場合にのみ実行可能と言われていました。私が望むのは、ステータス項目をクリックし、テキストフィールドがアクティブになった状態でドロップダウンメニューが表示されるので、入力をすぐに開始できます。メニューのテキストフィールドを表示するためにカスタムビューを使用していますが、それが関連しているかどうかは分かりませんが、この状況では別のものが使用されるはずです。ステータス項目のデフォルトテキストフィールド
ありがとうございました。
ステータス項目をクリックしたときに少なくとも実行するアクションがありますが、[[yourTextFieldウィンドウ] makeFirstResponder:yourTextField];うまくいかなかった。私はこのメソッドをテキストフィールドに5を入れて、何も起こっていないときにそれが動作していたかどうかを確認しましたが、私はそれを閉じて再び開いたときに5がそこにありました。 menuDidCloseのように動作しているようです。何が起こっているのかわからない... – Elbimio
申し訳ありませんが、代わりに '-performSelector:withObject:delay:modes'メソッドを使用してください。 NSRunLoopCommonModes runloopモードでメソッド呼び出しをスケジュールする必要があります。私は答えを更新しました。 –
ありがとう、それは素晴らしい仕事をした! – Elbimio