Ответ выше прекрасно работает, за исключением того, что вы захотите переопределитьFirstResponder из исходного текстового поля.
Если вы не подаете в отставку первый респондент, автоматическая настройка прокрутки IOS не будет работать, когда следующее поле станет первым респондентом. (Возможно, клавиатура закрывает следующее текстовое поле.)
-(IBAction) nextPressed: (id) sender {
//Resign first so that when the next field becomes firstResponder
//the text field will scroll into place if covered by the keyboard
[sender resignFirstResponder];
if ([textField1 isFirstResponder]) {
[textField2 becomeFirstResponder];
}
if ([textField2 isFirstResponder]) {
[textField3 becomeFirstResponder];
}
}