2

这似乎是一件简单的事情,但我被困住了。

在我的情节提要中,我有一个带有标签的单元格(使用静态单元格)。在 didSelectRowAtIndexPath 中,我试图访问单元格的 textLabel 的文本。这是我的代码,带有 NSLogging:

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if (cell.textLabel.text) {
      NSLog(@"cell.textLabel.text = %@",cell.textLabel.text);
  } else {
      NSLog(@"!cell.textLabel.text");
  }
NSLog(@"just for fun: cell.textLabel.text = %@", cell.textLabel.text);

if 语句总是返回 "!cell.textLabel.text" 并且最后一个 NSLog 总是 (null) 尽管故事板的单元格中有文本。

cell.textLabel 不正确吗?我应该查看 UITableViewCell 的另一个子视图吗?

4

1 回答 1

1

故事板中表格单元格的默认单元格样式为“自定义”类型。这为您提供了一个空白单元格,您可以在其中添加其他类型的控件。

如果您将标签拖到单元格上并更改其文本,那么您很可能使用 UITableViewCell 的自定义样式。

属性 textLabel 仅适用于除自定义之外的类型的单元格,例如基本或详细。

因此,您应该首先检查这些样式是否满足您的要求并改用它们。

如果您确实需要自定义类型的单元格,则需要创建 UITableViewCell 的子类并创建插座来访问您的标签。

于 2012-08-17T18:58:57.743 回答