【发布时间】:2014-07-02 16:40:10
【问题描述】:
如何实现一个带有 textField 的 UITableViewCell?我在 StackOverflow 上遇到过一些类似的问题,但我发现其中大多数都处理 tableView 的显示始终不变并且确切知道值在哪里的情况。对于我的实现,部分的数量和每部分的行数由用户确定,可以是任何东西。我已经能够在单元格中获得一个 textField,但是当我滚动表格并且单元格从视图中消失时,我发现输入的任何文本都丢失了。这就是我目前所拥有的
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [self.myTableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
UITextField *myTextField = [[UITextField alloc]
initWithFrame:CGRectMake(215, (cell.contentView.bounds.size.height-30)/2, 60, 30)];
[myTextField setDelegate: self];
myTextField.tag = indexPath.section;
NSLog(@"%ld", (long)myTextField.tag);
myTextField.placeholder = @"0%";
myTextField.borderStyle = UITextBorderStyleRoundedRect;
[cell addSubview:myTextField];
cell.textLabel.text = self.cellLabels[indexPath.section];
return cell;
}
我知道问题出在哪里,我只是想不出解决办法。即使我以某种方式将用户在每个 textField 中输入的所有内容存储在一个数组中,当每个字段从屏幕外返回时,我也无法设置每个字段的文本,因为 cellForRowAtIndexPath 再次被调用并且 textField 被重绘。
这正是我想要的,功能方面。但是“Paper1”和“Paper2”可能是不同的部分...
【问题讨论】:
标签: ios objective-c uitableview uitextfield