在cell上添加子控件,在我们点击或者长按的时候,如果子控件有背景颜色,这时候背景颜色就会没有了,这个时候产品经理过来一顿怼,?。就想下面这个图:
那么想做到长按或者点击的时候背景颜色不被渲染,很简单,在自定cell上的时候写两个方法:
- (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; [self changColor]; // Configure the view for the selected state}- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated{ [super setHighlighted:highlighted animated:animated]; [self changColor];}- (void)changColor{ //这里子控件初始化是什么颜色就设置什么颜色. self.label.backgroundColor = [UIColor orangeColor]; //其他子控件的背景颜色}
看效果 :