7

3 つのテキストフィールド (ユーザー名、パスワード、パスワードの確認) があります。フォームが読み込まれると、フォームが最初に表示されたときにテキストフィールドのユーザー名でカーソルが開始されるようにします。アドバイスをお願いします。少し早いですがお礼を。

4

7 に答える 7

29

[usernameTextField becomeFirstResponder];

これにより、望ましい結果が得られるはずです。メカニズムについて詳しく知りたい場合は、ここでレスポンダーチェーンについて読むことができます。

編集:

私の悪いことに、あなたはUITextField(Cocoa Touch)を意味していると思いました。

このメソッドではなく、NSWindow makeFirstResponder:メソッドを使用して、オブジェクトをファーストレスポンダーにします。このメソッドを直接呼び出さないでください。

[window makeFirstResponder:usernameTextField];
于 2012-09-14T08:46:15.197 に答える
3

becomeFirstResponder次のように message を使用します。

[self.passwordField becomeFirstResponder]
于 2012-09-14T08:47:04.917 に答える
2

[yourTextfieldbecomeFirstResponder]

于 2012-10-22T06:02:45.577 に答える
0

NSPanel (またはその他のシート) でこれを達成しようとしていて、タイトルと境界線を無効にすると、フォーカスを設定できません ( http://www.cocoabuilder.com/archive/cocoa/207749-nstextfield-を参照)。 will-not-become-editable-in-borderless-window.html )

その場合は、シート ウィンドウ クラスをサブクラス化し、canBecomeKeyWindow をオーバーライドして、常に YES を返すようにしてください。

于 2015-03-29T21:40:55.240 に答える