从uitableviewcell获取文本输入

时间:2011-05-26 12:46:14

标签: iphone ipad uitableview

我正在开发一个应用程序,我需要使用分段表视图从用户那里获取文本输入。 我从来没有使用表视图来从用户那里获取文本输入。 请查看图像以了解击球手。

enter image description here

我试过这个In-place editing of text in UITableViewCell?

但这并不是我想要的全部。

当我使用下面的代码时,我得到的输出与上面的图像不相似。

UITextField *txtField=[[UITextField alloc]initWithFrame:CGRectMake(45, 0, cell.frame.size.width, cell.frame.size.height)];
    txtField.autoresizingMask=UIViewAutoresizingFlexibleHeight;
    txtField.autoresizesSubviews=YES;
    [txtField setBorderStyle:UITextBorderStyleRoundedRect];
    [txtField setPlaceholder:@"Type Data Here"];

    if (cell == nil)
    {
        cell.accessoryType = UITableViewCellAccessoryNone;
    }
    [cell addSubview:txtField];

enter image description here

见问题3和5的答案。

感谢。

3 个答案:

答案 0 :(得分:4)

您需要将UITextField添加到内容视图对应的单元格,您需要文本字段。 您可以通过查看indexpath.section

中的单元格indexpath.rowcellForRowAtIndexPath:来选择所需的单元格

示例:

if(indexPath.section == CELL_SECTION) {
    if(indexpath.row == CELL_ROW_INDEX) {
      UITextField *txtField=[[UITextField alloc]initWithFrame:CGRectMake(5, 5, 320, 39)];
      txtField.autoresizingMask=UIViewAutoresizingFlexibleHeight;
      txtField.autoresizesSubviews=YES;
      txtField.layer.cornerRadius=10.0;
      [txtField setBorderStyle:UITextBorderStyleRoundedRect];
      [txtField setPlaceholder:@"Type Data Here"];
      [cell.contentView addSubView:textField];
   }
}

答案 1 :(得分:1)

首先是

  1. 您需要创建UITableViewCell的子类。

  2. 该课程将有一个 TextField(TF)作为属性 访问TF

  3. 设置该TF的标签 初始化它。

  4. 委托方法中的
  5. tableView:celForRowAtIndexPath: 通过标签使用方法tf =获得TF [cell viewWithTag:YOUR_TAG];

  6. 现在你可以做任何你想做的事。

  7. 现在假设你想要这个价值 除了这种方法之外还有 两个方向

    一个。创建一个全局变量并在其中存储值

    湾首先通过tableView by cellforRowAtIndexPath的方法找到单元格并重复步骤4和5

答案 2 :(得分:0)

您需要一个自定义UITableViewCell,其中包含UITextfield。您可以为每个单元格的tag设置textField以识别它们。如果您想对文本或其他内容进行一些验证,也可以实现UITextFieldDelegate。然后,您可以根据代码获取textfield的值。