UITableView作为开发中最常用的开发控件之一,围绕tableView出现的新花样越来越多,页越来越复杂。很多时候,开发往往不再使用原生的UITableViewCell 而是采用自定义的方式呈现需要的界面。有的时候,针对这些自定义的UITableViewCell点击时,高亮状态下的某些内部控件背景色变透明问题,这个问题的处理方法主要有两种:
1.在代理方法中控制UITableViewCell的点选状态,为UITableViewCellSelectionStyleNone。
代码:
tableVieCell.selectionStyle = UITableViewCellSelectionStyleNone;
2.如果需要有UITableViewCell的点选状态,但是不希望在点选以后其中控件的颜色并不变成透明色,那么方法为:
//这个方法在Cell被选中或者被取消选中时调用
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
self.testLabel.backgroundColor = [UIColor orangeColor];
}
//这个方法在用户按住Cell时被调用
-(void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated{
[super setHighlighted:highlighted animated:animated];
self.testLabel.backgroundColor = [UIColor orangeColor];
}