iOS:UIView背景色在表视图中

iOS:UIView背景色在表视图中,ios,uitableview,uibackgroundcolor,Ios,Uitableview,Uibackgroundcolor,所以这个问题很奇怪,有点难以描述。基本上,我有一个UITableView,其中每个单元格都有一个图像,还有一个UIView覆盖图像的一部分。UIView的背景色设置为30%左右的透明白色,让它看起来像是在冲洗下面的图像。上面还有一些标签之类的东西。所有这些视图都添加到单个父容器视图中,该视图最终添加到单元格的contentView。这一切都很好-直到我尝试选择单元格。出于某种原因,每当单元格高亮显示时,这些视图中每个视图上的backgroundColor属性都设置为清除,直到单元格取消高亮显示(

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


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

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

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

cell.selectionStyle = UITableViewCellSelectionStyleNone;

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

请发布tableview didSelect和cellForRowAtIndexPath方法的一些代码。检查一些可能有帮助的选项。尝试将“\u updateHighlightColorsForView”替换为“_setOpaque”。我对您的问题没有一个清晰的了解,即使如此,请尝试在方法[UITableViewDelegate willDisplayCell:ForRowatineIndexPath:]中设置UIView的背景色;