-6

4 つのテキスト フィールドがあり、リターン キーをクリックして次のアクションを実行したい -

1-1つのフィールドにエントリを入力してリターンキーを押すと、カーソルが次のフィールドにジャンプする必要があります

テキストフィールド 。

ありがとう 。

4

3 に答える 3

0

これを試して

4 つのテキストフィールドを textfield1,textfield2,textfile3,textfield4 とします。

テキストフィールドデリゲートメソッドで

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

    if([textField isEqual:textfield1]) 
    {
     [textfield2 becomeFirstResponder];
      return NO;
    }

    else if([textField isEqual:textfield2]) 
    {
     [textfield3 becomeFirstResponder];
      return NO;
    }

        // Do for other textfields
    return YES;
}
于 2013-08-14T09:53:31.563 に答える
0

デリゲートを実装UITextFieldし、一連のすべての textField にタグ値を設定します。1,2,3..のように。次に、scrollViewと textField タグの値が競合しないようにしてください。

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    int nextTextFieldTag = textField.tag+1;
    UITextField *textFieldd = (UITextField*)[self.view viewWithTag:nextTextFieldTag];
    if (textFieldd!=nil) {
        if ([textField isKindOfClass:[UITextField class]]) {
            [textFieldd becomeFirstResponder];
            return NO;
        }
    }
    return YES;
}
于 2013-08-14T09:50:16.637 に答える
-2

次の TextField がどうあるべきかを知り、UITextFieldDelegateProtocol特に- (BOOL)textFieldShouldReturn:(UITextField *)textField実装する必要があるだけです。

- (BOOL)textFieldShouldReturn:(UITextField *)textFieldの TextField を見つけて実行するだけです[nextTextField becomeFirstResponder];


したがって、- (BOOL)textFieldShouldReturn:(UITextField *)textFieldメソッドは次のようになります。

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

    if ([textField isEqual:firstTextField]) {
        [secondTextField becomeFirstResponder];
    } 

    //When last textfield dismiss the keyboard
    else if ([textField lastTextField]) {
        [textField resignFirstResponder];
    }

    return NO;
}
于 2013-08-14T09:50:37.220 に答える