0

連絡先の追加ページで、メールのテキストフィールド、電話番号フィールドなどを検証しています。また、他のすべてのテキストフィールドをクリックして有効なメールをチェックしています。電話番号フィールドをクリックすると、電子メールの有効性がチェックされ、電子メールが無効な場合はアラートビューが表示されます。したがって、alertView で [OK] ボタンをクリックすると、カーソルは電話番号フィールドではなく、電子メールのテキスト フィールドに移動する必要があります。

4

5 に答える 5

2

テキストフィールドのファーストレスポンダーを作成するため。これは、alertview デリゲートで行うことができます。

[yourTxtField becomeFirstResponder];

于 2013-06-04T10:21:26.957 に答える
1

AlertView のデリゲートを設定し、[OK] ボタンをクリックすると、

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
      if (buttonIndex == 0) {
         [txtEmail becomeFirstResponder]; // your "Email" textField will get focused
    }
}

この方法を試してください.. HTH :)

于 2013-06-04T10:19:45.850 に答える
1

ビュー コントローラーに を実装させUIAlertViewDelegate、現在のクラスをデリゲートとして表示されたアラート ビューに追加します。電話のテキスト フィールドを最初の応答者に– alertView:clickedButtonAtIndex:辞任させ、電子メールのテキスト フィールドを最初の応答者にする。

于 2013-06-04T10:21:27.467 に答える
1

クラスが UIAlertViewDelegate プロトコルに準拠していることを確認し、アラートを次のように表示します

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Your Message" delegate:self cancelButtonTitle:@"cancel " otherButtonTitles:@"OK", nil];
[alert show];
[alert release];

次のようなデリゲートメソッドを実装します

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    if(buttonIndex == 0)//ok button index is 0
       [textFieldEmail becomeFirstResponder];
} 
于 2013-06-04T11:07:10.413 に答える
1

alertview のデリゲート メソッドで、

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if([alertView isEqual:emailAlert])//emailAlert should be the instance variable
    {
       if(buttonIndex == 0)//assumes ok button index is 0
       {
             [textfield becomeFirstResponder];
       }
    }
}
于 2013-06-04T10:21:16.640 に答える