将焦点设置为tableCell中的UITextField

我正在用UITextFielddynamic创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]; } 

它对我来说就像一个魅力。