具有TextField问题的自定义表格视图单元格

时间:2010-10-15 17:17:15

标签: ios-simulator

嗨,所以这就是我想要做的。我有一个表视图,我正在使用带有文本字段的自定义表格视图单元格。基本上,您在字段中输入Text并将其保存到托管对象上下文。我已经设置了表格视图;

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

  //static NSString *CustCell=@"CustomCell";
 static NSString *CellIdentifier = @"Cell";
 CustomCell *cell = (CustomCell*) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
 if (cell== nil) {
  cell= [[[CustomCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
 } 



 switch (indexPath.row) {
   case 0:
    cell.primaryLabel.text = @"Name";
    cell.mainTextField.text=product.prodName;
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    break;

   case 1:
    cell.primaryLabel.text = @"Store";
    cell.mainTextField.text=product.store;
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    break;

   case 2:
    cell.primaryLabel.text=@"Amount";
    cell.mainTextField.text=product.amount;
    cell.mainTextField.keyboardType=UIKeyboardTypeNumberPad;
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    break;

   case 3:
    cell.primaryLabel.text=@"Measure";
    cell.detailLabel.text=product.measure;
    cell.mainTextField.hidden=YES;
    break;

   case 4:
    cell.primaryLabel.text=@"Package";
    cell.detailLabel.text=product.container;
    cell.mainTextField.hidden=YES;
    break;

   case 5:
    cell.primaryLabel.text=@"Aisle";
    cell.detailLabel.text=product.aisle;
    cell.mainTextField.hidden=YES;
    break;

   case 6:
    cell.primaryLabel.text=@"Note";
    cell.mainTextField.text=product.note;

   cell.selectionStyle = UITableViewCellSelectionStyleNone;
   break;

   default:
    break;
}
return cell;
} 

所以这是我的问题。在运行时我可以在单元格1-3中输入文本,没有问题保存,一切都很开心。但是如果我在单元格6中输入任何内容,它将返回Null for cell.nameTextField.text,我不知道为什么。

我做了什么。 我尝试在笔尖中创建一个单个实例单元并将其放在该单元格中。 2.我尝试将它设置为index.row 0的新部分。 3.尝试将文本字段添加到该索引处的标准单元格的内容视图中。 4.注释掉该单元格的save方法。 5.尝试创建一个单独的textField并将cell.mainTextFiled设置为Hidden。 6.尝试在不使用nib的情况下以编程方式创建表View。 7.当我使用笔尖中的单个实例单元格来处理所有这四个单元格时,这一切都很有效。如果这就是答案,那就这样吧。但是以编程方式创建的Custom Table View Cells更加简洁和优雅。

添加侮辱精神错乱如果我将该单元格移动到5或更低的索引,一切都很好。任何超过5的指数都会爆炸。

我已经浏览过网络和开发文档以及我拥有的4本iPhone Dev书籍。 我在这里是因为我已经筋疲力尽了。我敢肯定,我失踪了,但我很沮丧。任何帮助,将不胜感激。 最终目标是在第二部分有笔记,有更多的写作空间。 是的我知道还有其他方法可以做到这一点,但似乎这应该有效,我很想知道它为什么没有。 哦,我应该提一下,我只使用iPhone模拟器。我没试过在手机上跑步。 感谢。

1 个答案:

答案 0 :(得分:0)

好吧,我是个白痴。发布后我找到答案(当然!)简单地说。当具有文本字段的单元格滚出视图时,它会使单元格出列。当单元格重新出现时,它将使用闪亮的干净文本字段重新实例化。所以现在我正在寻找克服这个问题的方法。想到阵列。我会发布我发现的内容。如果有人对这个问题有所了解,我很乐意听到。