在项目的时候,发现一个问题就是在Cell上的控件有背景色时,用户选择了这个cell,这个cell上控件的背景色,会被清除,比如下面这样:
通过查找API,发现有以下两个方法:
//这个方法在用户选中Cell时被调用
-(void)setSelected:(BOOL)selected animated:(BOOL)animated;
//这个方法在用户按住Cell时被调用
-(void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated
这让博主想到了,在这两个方法里,再把这个控件的背景色给加上去,就像下面这样:
-(void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
self.test.backgroundColor = [UIColor colorWithRed:(115)/255.0f green:(202)/255.0f blue:(130)/255.0f alpha:1];
}
-(void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated{
[super setHighlighted:highlighted animated:animated];
self.test.backgroundColor = [UIColor colorWithRed:(115)/255.0f green:(202)/255.0f blue:(130)/255.0f alpha:1];
}
PS:如果其他童鞋还有更好的方法,请给博主留言!