Сценарий: у меня есть 4 UITextFields, которые принимают только 1 символ. Легко.
Проблема: после ввода символа 1 я хочу, чтобы следующий TextField стал активным автоматически, не нажимая дальше (т.е. я использую UIKeyboardTypeNumberPad, а не кнопку NEXT. (Я ЗНАЮ, что могу создать следующий, но я не хочу заходить так далеко, просто нужно, чтобы следующее поле активировалось автоматически после ввода 1 символа.
#define MAX_LENGTH 1
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    NSCharacterSet *myCharSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
    for (int i = 0; i < [string length]; i++) {
    unichar c = [string characterAtIndex:i];
        if (![myCharSet characterIsMember:c]) {
            return NO;
        }
    }
        NSUInteger newLength = [textField.text length] + [string length] - range.length;
        return (newLength > 1) ? NO : YES;
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField {
    if (textField == pc1) {
        [pc2 becomeFirstResponder];
    }else if (textField == pc2) {
        [pc3 becomeFirstResponder];
    }else if (textField == pc3) {
        [pc4 becomeFirstResponder];
    }else if (textField == pc4) {
        [textField resignFirstResponder];
    }
    return YES;
}