Set focus to UITextField in tableCell
27,673
Solution 1
change [field resignFirstResponder];
with [field becomeFirstResponder];
resignFirstResponder
is used to remove keyboard (focus) from text field
Solution 2
I've faced the same issue here, even using correctly the [field becomeFirstResponder];
.
I also used tags to get the objects I have inside the cell. Your didSelectRowAtIndexPath
should look like this to get the right cell:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
currentRow = indexPath.row;
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
UITextField *indexField = (UITextField *)[cell viewWithTag:101];
[indexField becomeFirstResponder];
}
It worked like a charm for me.
Author by
nabiullinas
Updated on March 06, 2020Comments
-
nabiullinas over 4 years
I am creating a table view with
UITextField
s dynamically.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];
And now I want to set focus on this text field when user touch cell. I write this
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)newIndexPath { UITextField* field = (UITextField *) [tblView viewWithTag: newIndexPath.row]; [field resignFirstResponder]; }
But this doesn't work