Это хакерский способ перейти к следующему UITextField (используя textFieldShouldReturn)? - PullRequest
2 голосов
/ 18 сентября 2011
- (BOOL)textFieldShouldReturn:(UITextField *)sender
{
    if(sender.returnKeyType == UIReturnKeyNext){
        // Make something else first responder
    }else if(sender.returnKeyType == UIReturnKeyGo){
        // Do something
    }else{
        [sender resignFirstResponder];
    }
    return YES;
}

У меня есть UITextFieldDelegate, использующий это. Я новичок в iPhone. Исходя из Интернета, я привык определять события динамически и минимально. Это нормально, чтобы перейти от имени пользователя к паролю UITextFields?

Есть ли лучшая обычная практика?

Ответы [ 2 ]

2 голосов
/ 18 сентября 2011

Это подробно обсуждалось здесь: Как перемещаться по текстовым полям (кнопки Далее / Готово)

Но быстрый ответ - да, это хорошо! Ничего хакерского в этом нет.

0 голосов
/ 18 сентября 2011

Если у вас есть текстовые поля, объявленные как свойства класса, вы можете просто сравнить отправителя с каждым текстовым полем, чтобы определить правильный курс действий. Я бы, наверное, сделал что-то подобное.

- (BOOL)textFieldShouldReturn:(UITextField *)sender
{
    if (sender == self.firstTextField)
        [self.secondTextField becomeFirstResponder];
    else if (sender == self.secondTextField)
        [self doSomething];
    else
        [sender resignFirstResponder];

    return YES;
}
...