我创建了一个自定义UITableViewCell
,该单元格有多个文本字段,现在我想访问这些UITextFields
中的字符串或数据。我知道我可以在didSelectRowAtIndexPath
上获取单元格,但我需要在“保存”方法上获取文本。
答案 0 :(得分:30)
假设您有四个标记为100的文本字段,依此类推至104。 你会用计数器显示你在tableview中有多少个单元格。
for (int i=0; iLessThanCounter; i++) {
NSIndexPath *indexPath = [NSIndexPath indexPathForRow: i inSection: 0];
UITableViewCell *cell = [mytableview cellForRowAtIndexPath:indexPath];
for (UIView *view in cell.contentView.subviews){
if ([view isKindOfClass:[UITextField class]]){
UITextField* txtField = (UITextField *)view;
if (txtField.tag == 100) {
NSLog(@"TextField.tag:%u and Data %@", txtField.tag, txtField.text);
}
if (txtField.tag == 101) {
NSLog(@"TextField.tag:%u and Data %@", txtField.tag, txtField.text);
}
if (txtField.tag == 102) {
NSLog(@"TextField.tag:%u and Data %@", txtField.tag, txtField.text);
}
if (txtField.tag == 103) {
NSLog(@"TextField.tag:%u and Data %@", txtField.tag, txtField.text);
}
if (txtField.tag == 104) {
NSLog(@"TextField.tag:%u and Data %@", txtField.tag, txtField.text);
} // End of isKindofClass
} // End of Cell Sub View
}// Counter Loop
}
答案 1 :(得分:9)
您只需使用viewWithTag
即可获得所需的观看次数。假设您有一个带有标签100的图像视图和一个带有标签200的文本视图。
UITableViewCell *cell = [mytableview cellForRowAtIndexPath:indexPath];
UIImageView *getImageView = (UIImageView*)[cell.contentView viewWithTag:100];
UITextField *getTextView = (UITextField*)[cell.contentView viewWithTag:200];
答案 2 :(得分:1)
您需要为头文件中的每个textField创建实例。看看这个示例演示
http://windrealm.org/tutorials/uitableview_uitextfield_form.php
您可以访问textfield的text属性以获取特定文本字段的文本值