web-dev-qa-db-ja.com

iPhoneでテキストフィールドにフォーカスを設定する方法は?

テキストフィールドを押した結果、iPhoneのテキストフィールドにプログラムでどのようにフォーカスを設定しますか?

43
Ravi kumar

TextFieldを最初に応答させるだけで、キーボードもポップアップします:

[self.textField becomeFirstResponder];

そして、誰かを助けるかもしれないいくつかのより典型的なサンプルコード、

ストーリーボードで、テキストフィールドの1つをクリックし、アウトレットデリゲートを問題のクラスに設定します。そのクラスでは、.hファイルで、それがUITextFieldDelegateであることを必ず宣言してください

@interface Login : UIViewController <UITextFieldDelegate>

次に、.mファイルで、たとえば次のようにします。

-(BOOL)textFieldShouldReturn:(UITextField *)textField
 {
 if ( textField == self.loginEmail ) { [self.loginPassword becomeFirstResponder]; }
 if ( textField == self.loginPassword ) { [self yourLoginRoutine]; return YES; }
 return YES;
 }

ユーザーが仮想キーボードの[次へ]ボタン([メール]フィールド)をクリックすると、パスワードフィールドに正しく移動します。ユーザーが仮想キーボードの「パスワード」フィールドで「次へ」ボタンをクリックすると、yourLoginRoutineが正しく呼び出されます。

(ストーリーボードの属性インスペクターで、Returnキーで必要なテキストを選択できることに注意してください。ここでは、「次」は電子メールフィールドで、「完了」はパスワードフィールドで適切に機能します。)

それが役に立てば幸い!

66
rckoenes

TextFieldにデリゲートを追加します。この記事で詳しく説明されているプロセスに従うことができます。 http://www.roseindia.net/tutorial/iphone/examples/iphone-AddTwoTextField.html

その場でフォーカスを変更するには:

[yourTextField becomeFirstResponder];
22
EXC_BAD_ACCESS