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