Мне не нравится иметь дело с тегом, поэтому вот мое решение. Создайте IBOutletCollection
всех ваших текстовых полей в вашем ViewController
, перетащите, чтобы соединить текстовые поля в порядке сверху вниз.
@interface ViewController() <UITextFieldDelegate>
@property (strong, nonatomic) IBOutletCollection(UITextField) NSArray *allTextFields;
@end
В представленииDidLoad установлен ваш делегат textFields. (Или установите его в раскадровку).
for (VVTextField *tf in self.allTextFields) {
tf.delegate = self;
}
Затем реализовать UITextField делегат
#pragma mark - UITextField Delegate
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
NSUInteger currentIndex = [self.allTextFields indexOfObject:textField];
NSUInteger nextIndex = currentIndex+1;
if (nextIndex < self.allTextFields.count) {
[[self.allTextFields objectAtIndex:nextIndex] becomeFirstResponder];
} else {
[[self.allTextFields objectAtIndex:currentIndex] resignFirstResponder];
}
return YES;
}
Чтобы отметить ответ как правильный, просто нажмите на значок пустой галочки рядом с ответом ... –