根据条件的结果,我想在表格单元格中显示UIImageView。否则显示UITableViewCellAccessoryCheckmark。我想在IB中构建单元格。当我不希望它显示时,我不知道如何处理UIImageView。如果我以编程方式构建它,我会根据需要添加UIImageView。但由于它将在IB中完成,因此UIImageView始终存在。应该默认是单独保留单元格(图像显示),否则删除UIImageView并显示UITableViewCellAccessoryCheckmark?如果这样做,我是否需要UIImageView上的标签,以便可以访问和删除它?
答案 0 :(得分:6)
您可以轻松控制任何控件的可见性,包括UIImageView。如果你想在IB中构建东西,那么一种解决方案是添加你需要的控件,将它们作为属性公开,然后隐藏你不想要的给定单元格。
E.g。
cell.image.hidden = YES;
隐藏时它们没有绘制开销,虽然你的单元格可能有数千行,但实际单元格却很少,所以这是一个相当有效的解决方案。请记住,如果调用[tableView dequeueReusableCellWithIdentifier](您应该这样做),则会重复使用单元格,因此您必须明确显示/隐藏其可见性可能已更改的控件。
另一种方法是让图像有和没有图像,并在向表中添加数据时选择正确的图像。对于类似的细胞管理两个相似但不太重要的资产可能会很痛苦。