我对如何在UITableView中引用文本字段的文本感到很困惑。我在tableview中有5行没有文本加载,用户输入文本然后保存为设置。我试图让数组_textBox1Contents和_textBox2Contents包含5 textBox1和textBox2文本字段中的用户输入文本。如何引用特定单元格的文本字段,以便使用NSUserDefaults将它们发送到应用程序的其他部分?
提前致谢。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"TableCell";
TableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
// Configure the cell...
long row = [indexPath row];
cell.image.image = [UIImage imageNamed:_image[row]];
cell.titleLabel.text = _Title[row];
cell.textbox1.placeholder = _textBox1[row];
cell.textbox2.placeholder = _textBox2[row];
cell.colon.text = _colon[row];
cell.textbox1.delegate = self;
cell.textbox2.delegate = self;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
_textBox1Contents = @[@"",
@"",
@"",
@"",
@"",];
_textBox2Contents = @[@"",
@"",
@"",
@"",
@"",];
return cell;
}
答案 0 :(得分:1)
在你的UITextField上给一个标签(比方说100)。然后,在cellForRowAtIndexPath
上执行
UITextField *textField = (UITextField *)[cell viewWithTag:100];
textField.text = [NSString stringWithFormat:@"%d",indexPath.row];
答案 1 :(得分:1)
您可以添加“保存”按钮,并将相应的回调实现为:
- (IBAction)saveClicked:(id)sender {
for (int i = 0; i < _tableView.numberOfSections; i++) {
for (int j = 0; j < [_tableView numberOfRowsInSection:i]; j++) {
NSIndexPath *currentIndexPath = [NSIndexPath indexPathForRow:j inSection:i];
TableCell *currentCell = (TableCell *)[_tableView cellForRowAtIndexPath:currentIndexPath];
// Get text field and store.
}
}