0

我是 iPhone 编程的新手,正在开发我的第一个真正的应用程序(即不是写在书本或在线的应用程序),我遇到了一个小问题,我可以通过多种方式解决,但感觉应该有一个好的也许我只是想念的解决方案。

这是场景:我有一个UITableView带有一堆标准UITableViewCell的 s 。我想要做的是在选择单元格时切换一个绿色复选标记并且我有该部分工作(注意:我已经将它accessoryType用于其他东西,所以我不能将它用于复选标记......此外,它没有那么漂亮)。不幸的是,当我像这样切换复选标记时:

if (...) {
  cell.imageView.image = [UIImage imageNamed:@"checkmark.png"];
} else {
  cell.imageView.image = nil;
}

它使单元格的标签根据是否被检查来回反弹。cell.textLabel.text无论是否设置了图像,对齐单元格文本(通过设置)的正确方法是什么?我提出的解决方案是:

  1. 在 Photoshop 中创建一个空白的 40x40 png 图像并将未选中的设置为
  2. 仅在代码中创建一个空白的 40x40 图像
  3. 设置一些我不知道的设置会为我对齐
  4. 创建一个 UITableCellView 的子类,它可以满足我的需要(这很愚蠢,我只会选择选项 1 ......)

建议?想法?注释?非常感谢 :-)

PS 如果有任何不同,我希望该解决方案可以与 OS 3.0 和 4.0 一起使用。

4

1 回答 1

1

选项 1 是标准单元的方法。

严格来说,您不必继承 UITableViewCell 来自定义布局。您可以将任何您希望的视图添加到 contentView。因此,您可以将 UILabel 和 UIImageView 添加到 contentView 而不是使用 imageView 和 textLabel 属性。

于 2010-05-21T18:55:46.800 回答