iOS:表格视图中的UIView backgroundColor

时间:2013-07-18 01:54:06

标签: ios uitableview uibackgroundcolor

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

任何人都可以解释为什么会发生这种情况,更重要的是如果有办法解决这个问题吗?最多我可以创建一个白色的单个像素图像,将UIView转换为UIImageView,并将其图像设置为该像素 - 但这最好是不优雅的。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

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

简单地说,您可以通过将其selectionStyle设置为无:

来禁用单元格的选择
cell.selectionStyle = UITableViewCellSelectionStyleNone;

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

的背景颜色