所以这个问题很奇怪,有点难以描述。基本上我有UITableView
每个单元格都有一个图像,UIView
覆盖图像的一部分。 UIView
将背景颜色设置为约30%透明白色,使其外观清晰。还有一些标签等。所有这些视图都被添加到单个父容器视图中,该视图最终被添加到单元格的contentView
中。这一切都很好 - 直到我尝试选择单元格。出于某种原因,每当单元格突出显示时,每个视图上的backgroundColor
属性都将设置为清除,直到单元格未突出显示(此时旧颜色返回)。
任何人都可以解释为什么会发生这种情况,更重要的是如果有办法解决这个问题吗?最多我可以创建一个白色的单个像素图像,将UIView
转换为UIImageView
,并将其图像设置为该像素 - 但这最好是不优雅的。有什么建议吗?
答案 0 :(得分:0)
当您选择单元格时,将调用setSelected:animated:
的实现,并将此单元格中包含的所有视图的背景颜色设置为透明。
简单地说,您可以通过将其selectionStyle
设置为无:
cell.selectionStyle = UITableViewCellSelectionStyleNone;
或者,如果您想使用选择结果,可以覆盖setSelected:animated:
方法并重置UIView