Как изменить ключ возврата?

У меня есть 4 текстовых поля, я хочу сгладить следующие действия, нажав на клавишу возврата -

1-, когда я вводим запись в одном поле и нажимаю клавишу возврата, курсор следует подпрыгивать дальше

Текстовое поле.

Благодарю.

-6
источник поделиться
3 ответа

UITextField делегат UITextField и установите значение тега для всего вашего текстового поля последовательно. как 1,2,3..а так далее. то убедитесь, что scrollView тегов 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;
}
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;
}
0
источник

Вам просто нужно знать, каким должен быть следующий TextField, и иметь UITextFieldDelegateProtocol частности, - (BOOL)textFieldShouldReturn:(UITextField *)textField.

В - (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;
}
-2
источник

Посмотрите другие вопросы по меткам или Задайте вопрос