3 つのテキストフィールド (ユーザー名、パスワード、パスワードの確認) があります。フォームが読み込まれると、フォームが最初に表示されたときにテキストフィールドのユーザー名でカーソルが開始されるようにします。アドバイスをお願いします。少し早いですがお礼を。
7 に答える
[usernameTextField becomeFirstResponder];
これにより、望ましい結果が得られるはずです。メカニズムについて詳しく知りたい場合は、ここでレスポンダーチェーンについて読むことができます。
編集:
私の悪いことに、あなたはUITextField(Cocoa Touch)を意味していると思いました。
このメソッドではなく、NSWindow makeFirstResponder:メソッドを使用して、オブジェクトをファーストレスポンダーにします。このメソッドを直接呼び出さないでください。
[window makeFirstResponder:usernameTextField];
becomeFirstResponder
次のように message を使用します。
[self.passwordField becomeFirstResponder]
[yourTextfieldbecomeFirstResponder]
NSPanel (またはその他のシート) でこれを達成しようとしていて、タイトルと境界線を無効にすると、フォーカスを設定できません ( http://www.cocoabuilder.com/archive/cocoa/207749-nstextfield-を参照)。 will-not-become-editable-in-borderless-window.html )
その場合は、シート ウィンドウ クラスをサブクラス化し、canBecomeKeyWindow をオーバーライドして、常に YES を返すようにしてください。