【问题标题】:Toggling display of image in UITableViewCell在 UITableViewCell 中切换图像的显示
【发布时间】:2009-03-25 19:14:40
【问题描述】:
根据条件的结果,我想在表格单元格中显示 UIImageView。否则显示 UITableViewCellAccessoryCheckmark。我想在 IB 中构建单元格。当我不想显示 UIImageView 时,我不确定如何处理它。如果我以编程方式构建它,我会根据需要添加 UIImageView。但由于它将在 IB 中完成,因此 UIImageView 始终存在。默认是否应该单独保留单元格(图像显示),否则删除 UIImageView 并显示 UITableViewCellAccessoryCheckmark?如果这样做了,我是否需要在 UIImageView 上添加一个标签,以便可以访问和删除它?
【问题讨论】:
标签:
iphone
uitableview
uiimageview
【解决方案1】:
您可以轻松控制任何控件的可见性,包括 UIImageView。如果您想在 IB 中构建东西,那么一种解决方案是添加您需要的控件,将它们公开为属性,然后隐藏给定单元格不需要的控件。
例如
cell.image.hidden = YES;
隐藏时它们没有绘制开销,尽管您的单元格可能有数千行,但实际单元格将很少,因此这是一个相当有效的解决方案。请记住,如果您调用 [tableView dequeueReusableCellWithIdentifier](您应该这样做),单元格会被重用,因此您必须显式显示/隐藏其可见性可能已更改的控件。
另一种方法是让单元格包含和不包含图像,并在向表格中添加数据时选择正确的单元格。不过,对于管理两个相似但略有不同的资产的类似单元,可能会很痛苦。