我已经尝试过这里介绍的方法,除了我不能使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遗骸是白色的!如果我将它设置为redColoror blueColor,它会显示为红色或蓝色,但是当我设置它时,它会clearColor显示为白色。我考虑过colorWithPatternImage使用透明的 PNG 图像设置背景,但我想避免这种情况。
我更喜欢尝试解决这个问题,因为依赖这两个方法调用要干净得多,而且我还想保留公开指示符的使用,该指示符在选择时变为白色,否则如果我使用UITableViewCellSelectionNone.