我想在tableview上添加textfield,并使用他们的标签访问textfield的文本。 我怎么能这样看下面的图像。
答案 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);
}
}