1

我的 UITableView 行中有一个 UITextField 子视图。当我点击一行(在 UITextField 框架之外)时,我希望 UITextField 变得可编辑(即,使数字键盘出现),就像我在 UITextField 框架内点击一样。

我看到了一些类似的问题,建议使用 becomeFirstResponder 但这对我不起作用。

我该怎么做?我应该以某种方式将 UITextField 框架之外的触摸事件转发到 UITextField 吗?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
  [self selectSection: indexPath.section];

  switch( indexPath.section )
  {      
    case SECTION_RATE:
      currentTextField = editRate;
      [editRate becomeFirstResponder];
      break;

    case SECTION_UNITS:
      currentTextField = editUnits;
      [editUnits becomeFirstResponder];
      break;

    default:
      break;
  }
}
4

1 回答 1

1

在您的 didSelectRowAtIndexPath 检查索引路径和

 tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

if(indexpath.row == 0)
{
 [txtField1 becomeFirstResponder];
 //adjust table scroll for keyboard 
}
else if(indexpath.row == 1)
{
 [txtField2 becomeFirstResponder];
 //adjust table scroll for keyboard 
}
于 2012-09-05T11:08:20.610 回答