Ответ 1
измените [field resignFirstResponder];
на [field becomeFirstResponder];
resignFirstResponder
используется для удаления клавиатуры (фокуса) из текстового поля
Я создаю табличное представление с UITextField
динамически.
l_textField = [[UITextField alloc] initWithFrame:TextFieldFrame];
l_textField.tag = cellRow;
l_textField.delegate = self;
l_textField.font = [UIFont boldSystemFontOfSize:14];
l_textField.textColor = [UIColor blackColor];
[l_textField setEnabled:YES];
[cell.contentView addSubview:l_textField];
И теперь я хочу сосредоточиться на этом текстовом поле, когда пользователь сенсорный элемент. Я пишу это
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)newIndexPath {
UITextField* field = (UITextField *) [tblView viewWithTag: newIndexPath.row];
[field resignFirstResponder];
}
Но это не работает
измените [field resignFirstResponder];
на [field becomeFirstResponder];
resignFirstResponder
используется для удаления клавиатуры (фокуса) из текстового поля
Я столкнулся с такой же проблемой, даже правильно используя [field becomeFirstResponder];
.
Я также использовал теги, чтобы получить объекты, которые у меня есть внутри ячейки. Ваш didSelectRowAtIndexPath
должен выглядеть так, чтобы получить нужную ячейку:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
currentRow = indexPath.row;
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
UITextField *indexField = (UITextField *)[cell viewWithTag:101];
[indexField becomeFirstResponder];
}
Для меня это работало как прелесть.