2009-05-14 4 views

答えて

30

を...

[mytextField addTarget:self 
     action:@selector(methodToFire:) 
     forControlEvents:UIControlEventEditingDidEndOnExit]; 
4

次のメソッドを実装:

- (void)textFieldDidEndEditing:(UITextField *)textField{ 

//do stuff 

} 

のviewDidLoadでデリゲートまたは初期化子を設定することを忘れないでください:私はちょうどそれを考え出した

myTextField.delegate = self; 
+0

これは動作しません... –

+0

Uouは、デリゲートが設定されていることを確認する必要があります。また、textFieldは最初のレスポンダーを辞任しなければなりません。そうすれば、キーボードはあなたが正しく行った手がかりとして消えるようになります。 –

+0

あなたが投稿した内容は正しいかもしれませんが、わかりません。しかし、私が上に投稿したコードはよりエレガントで、私が探していたものを正確に達成しています。 –

1

このターゲットを使用して別のテキストフィールドを作成することを検討している人は、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; 
} 
関連する問題