将焦点设置为tableCell中的UITextField
我正在用UITextField
dynamic创build一个表视图。
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]; }
它对我来说就像一个魅力。