Tag: 子类化

为什么所有的背景在UITableViewCell select上消失?

我目前的项目的UITableViewCell行为令我感到困惑。 我有一个相当直接的UITableViewCell的子类。 它在基本视图中添加了一些额外的元素(通过[self.contentView addSubview:…]并在元素上设置背景颜色,使它们看起来像黑色和灰色的矩形框。 由于整个表格的背景都有这个具体的纹理图像,所以每个单元格的背景都需要是透明的,即使选中了,但在这种情况下,它应该会变暗一点。 我已经设置了一个自定义半透明选定的背景来达到这个效果: UIView *background = [[[UIView alloc] initWithFrame:self.bounds] autorelease]; background.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.6]; background.opaque = NO; [self setSelectedBackgroundView:background]; 虽然这样可以让背景看起来很正确,但是当我select这个单元格的时候会出现一个奇怪的副作用。 所有其他背景都不知怎么的摆脱了 。 这是一个截图。 底部的单元格看起来应该和不被选中。 顶部的单元格被选中,但它应该显示黑色和灰色的矩形区域,但他们已经走了! 谁知道这里发生了什么,甚至更重要:我该如何纠正?