如何在表格中实现文本字段的方式

时间:2012-05-18 02:55:24

标签: iphone uitableview uitextfield

我想在tableview上添加textfield,并使用他们的标签访问textfield的文本。 我怎么能这样看下面的图像。

enter image description here

3 个答案:

答案 0 :(得分:1)

您必须自定义tableViewCell,您可以使用cellForRowAtIndexPath方法进行自定义。

在方法中创建单元格时,您可以执行以下操作:

UITextField *textField = [[UITextField alloc] init];
// Set a unique tag on each text field
textField.tag = 101;
// Add general UITextAttributes if necessary
textField.enablesReturnKeyAutomatically = YES;
textField.autocorrectionType = UITextAutocorrectionTypeNo;
textField.autocapitalizationType = UITextAutocapitalizationTypeNone;
[cell.contentView addSubview:textField];
[textField release];

在此之后,您可以执行以下操作:

UITextField *myTextField = (UITextField*)[cell viewWithTag:yourTag];

希望这就是你要找的......

<强>更新

如您所见,我将标签101指定为静态。这可以是任何数字,但请确保您在同一单元格中没有任何其他具有相同标记的视图。如果你有另一个单元而不是问题。

现在在任何地方,如果我们在didSelectRowAtIndexPath中说你可以做以下事情:

 UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
 UITextField *myTextField = (UITextFiled*)[cell viewWithTag:101];

通过这种方式,您将获得第一个细胞。现在,您的单元格只有一个带有101标记的视图,因此无论您对其他textField具有相同的标记,都可以获取文本字段,因为所有单元格都不相同。

干杯

答案 1 :(得分:1)

UITextField *myTextField = (UITextField*)[cell viewWithTag:yourTag];
myTextField.tag=indexPath.row;

这样就可以分配10个文本字段标签。 在textfield委托方法之后,您可以从不同的10个标签中检索该文本。

答案 2 :(得分:1)

//要从UITextField获取文本,请在初始化Textfield后添加以下代码

[yourTextField addTarget:self action:@selector(getTextFieldValue:) forControlEvents:UIControlEventEditingDidEnd];

和这个方法

- (void) getTextFieldValue:(UITextField *)textField{
    NSLog(@"GetTextvalue");
    if (textField.tag == 0) {
        NSLog(@"1--->%@",textField.text);
    }else if(textField.tag == 1){
        NSLog(@"2--->%@",textField.text);
    }else if(textField.tag == 2){
        NSLog(@"3--->%@",textField.text);
    }
}