UITextField
オブジェクトのdidEndOnExit
イベントにプログラム(オブザーバー?)をプログラムで割り当てる方法を教えてください。UITextFieldのdidEndOnExitイベントのメソッドを割り当てます
これはIBで行うのは簡単ですが、コードで行う方法はわかりません。あなたのビューコントローラで
UITextField
オブジェクトのdidEndOnExit
イベントにプログラム(オブザーバー?)をプログラムで割り当てる方法を教えてください。UITextFieldのdidEndOnExitイベントのメソッドを割り当てます
これはIBで行うのは簡単ですが、コードで行う方法はわかりません。あなたのビューコントローラで
を...
を[mytextField addTarget:self
action:@selector(methodToFire:)
forControlEvents:UIControlEventEditingDidEndOnExit];
次のメソッドを実装:
- (void)textFieldDidEndEditing:(UITextField *)textField{
//do stuff
}
のviewDidLoadでデリゲートまたは初期化子を設定することを忘れないでください:私はちょうどそれを考え出した
myTextField.delegate = self;
このターゲットを使用して別のテキストフィールドを作成することを検討している人は、firstFirstResponderを使用して「次へ」ボタンのオプションは、textFieldsを「タブ移動」しているように感じます。このようなコードではなく、textFieldShouldReturnを使用することをお勧めします。私はそれがとてもうまく、あなたがユニコーンに乗っているように感じるでしょう働くあなたを教えてみましょう:
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
if([textField isEqual:_textField1]){
[_textField2 becomeFirstResponder];
return NO;
}else if([textField isEqual:_textField2]){
[_textField3 becomeFirstResponder];
return NO;
}
return YES;
}
これは動作しません... –
Uouは、デリゲートが設定されていることを確認する必要があります。また、textFieldは最初のレスポンダーを辞任しなければなりません。そうすれば、キーボードはあなたが正しく行った手がかりとして消えるようになります。 –
あなたが投稿した内容は正しいかもしれませんが、わかりません。しかし、私が上に投稿したコードはよりエレガントで、私が探していたものを正確に達成しています。 –