0

所以这个问题很奇怪,有点难以描述。本质上,我有一个UITableView每个单元格都有一个图像的位置,以及图像的UIView覆盖部分。它的UIView背景颜色设置为大约 30% 的透明白色,使其看起来像是洗掉了下面的图像。上面还有一些标签之类的。所有这些视图都添加到单个父容器视图中,最终添加到单元格的contentView. 这一切都很好 - 直到我尝试选择单元格。出于某种原因,每当单元格被突出显示时,backgroundColor这些视图中的每一个上的属性都设置为清除,直到单元格未被突出显示(此时旧颜色返回)。

谁能解释为什么会发生这种情况,如果有办法解决它更重要吗?最多我可以创建一个白色的单像素图​​像,将其UIView转换为 a UIImageView,并将其图像设置为该像素 - 但这充其量是不雅的。有什么建议么?

4

1 回答 1

0

当您选择单元格时,将setSelected:animated:调用 的实现并将该单元格中包含的所有视图的背景颜色设置为透明。

简单地说,您可以通过将其设置selectionStyle为 None 来禁用单元格的选择:

cell.selectionStyle = UITableViewCellSelectionStyleNone;

或者,如果您想使用选择的结果,您可以覆盖该setSelected:animated:方法并重置您的背景颜色UIView

于 2015-07-20T09:05:22.287 回答