我已经尝试过这里介绍的方法,除了我不能使selectedBackgroundView
透明,它保持白色之外,一切正常。在我的自定义UITableViewCell
课程中,我有:
-(void)awakeFromNib {
UIView *bkgView = [[UIView alloc]initWithFrame:self.frame];
bkgView.alpha = 0.5;
bkgView.backgroundColor = [UIColor clearColor];
self.selectedBackgroundView = bkgView;
}
我也调用[self setNeedsDisplay];
了setSelected
方法。
我想要的是删除蓝色突出显示(从UITableViewCellSelectionStyleBlue
,我不想将其设置为,UITableViewCellSelectionNone
因为它会禁用setHighlight/Selected
调用)并且仍然调用突出显示/选择方法。我非常接近那里,只是selectedBackgorundView
遗骸是白色的!如果我将它设置为redColor
or blueColor
,它会显示为红色或蓝色,但是当我设置它时,它会clearColor
显示为白色。我考虑过colorWithPatternImage
使用透明的 PNG 图像设置背景,但我想避免这种情况。
我更喜欢尝试解决这个问题,因为依赖这两个方法调用要干净得多,而且我还想保留公开指示符的使用,该指示符在选择时变为白色,否则如果我使用UITableViewCellSelectionNone
.