В окне добавления/редактирования приложения «Контакты», если вы нажали клавишу «Возврат» в поле, вы просматриваете каждый из UITextFields. Кажется, что эти поля находятся внутри UITableViewCell. Каков хороший способ сделать это?Перемещение между UITextFields в UITableViewCell
Когда у меня есть серия UITextFields, не внутри таблицы, я могу вызвать , чтобы получить список просмотров и использование, которые можно циклически перебирать через них. Но внутри таблицы я получаю только одно представление, и я не уверен, как его преобразовать.
-(BOOL)textFieldShouldReturn:(UITextField *)textField {
// Find the next entry field
for (UIView *view in [self entryFields]) {
if (view.tag == (textField.tag + 1)) {
[view becomeFirstResponder];
break;
}
}
return NO;
}
/*
Returns an array of all data entry fields in the view.
Fields are ordered by tag, and only fields with tag > 0 are included.
Returned fields are guaranteed to be a subclass of UIResponder.
From: http://iphoneincubator.com/blog/tag/uitextfield
*/
- (NSArray *)entryFields {
if (!entryFields) {
self.entryFields = [[NSMutableArray alloc] init];
NSInteger tag = 1;
UIView *aView;
while (aView = [self.view viewWithTag:tag]) {
if (aView && [[aView class] isSubclassOfClass:[UIResponder class]]) {
[entryFields addObject:aView];
}
tag++;
}
}
return entryFields;
}