0

次に4つの動的UITextFieldをすべてリターンキータイプで生成しています。次に押すと、フォーカスが次のUITextFieldに転送されますが、4番目のUITextFieldがフォーカスを取得すると、リターンキータイプが変更さDoneれ、押されたときにファーストレスポンダーを辞任する必要があります。

機能を実装するため"next"に、このコードを使用しています

NSUInteger currentIndex = [Feilds1Array indexOfObject:textField];
        if(currentIndex>=Feilds1Array.count-1)
        {

            NSLog(@"change return key type...");
        }
        else
        {
            UITextField* nextTextField1 = (UITextField*)Feilds1Array[currentIndex+1] ;
            [nextTextField1 becomeFirstResponder] ;
        }

これは簡単かもしれませんが、私は初心者
なのでこれを理解することができませんので、助けてください よろしくお願いします
...

4

4 に答える 4

0

こうやって、

textField デリゲート メソッドで、

タグ値を使用して、または既に行ったように、4 番目のテキストフィールドにアクセスします。

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

    if([textField isEqual:textField4]) 
         textField4.returnKeyType = UIReturnKeyDone;
}

- (BOOL)textFieldShouldReturn:(UITextField *)textField {

    if([textField isEqual:textField4]) 
         [textField resignFirstResponder];

    return YES;
}
于 2013-05-22T06:18:04.880 に答える
0

UITextField動的に作成している場合は、プロパティを次のように設定できます

textfieldName.returnKeyType = UIReturnKeyDone;

あなたの場合、上記のプロパティを4番目のテキストフィールドに設定できます。

于 2013-05-22T06:07:02.820 に答える
0

その場合、テキスト フィールドが xib によって生成される場合、 xib の最後のテキスト フィールドのリターン キーを設定する必要がありますDone。下の画像を見てください

ここに画像の説明を入力

それ以外は

NSUInteger currentIndex = [Feilds1Array indexOfObject:textField];
        if(currentIndex>=Feilds1Array.count-1)
        {

            NSLog(@"change return key type...");

             UITextField* nextTextField1 = (UITextField*)Feilds1Array[currentIndex+1] ;
             nextTextField1.returnKeyType = UIReturnKeyDone;
             [nextTextField1 becomeFirstResponder] ;
        }
        else
        {
            UITextField* nextTextField1 = (UITextField*)Feilds1Array[currentIndex+1] ;
            [nextTextField1 becomeFirstResponder] ;
        }
于 2013-05-22T06:06:00.597 に答える