首页 > 代码库 > 解决设置selectedBackgroundView后会把cell上带背景颜色的控件遮住的问题

解决设置selectedBackgroundView后会把cell上带背景颜色的控件遮住的问题

再给cell自定义选中的背景色时,当选中后会把cell上原来有背景色的控件遮住就像消失了一样,可以用下面的方法解决

我定义的cell的选中背景色是绿色

    UIView *bgView = [[UIView alloc]initWithFrame:programCell.bg_View.bounds];
    bgView.backgroundColor = [UIColor greenColor];
    
    Cell.selectedBackgroundView = bgView;

 

未选中的效果

 

技术分享

 

选中时的效果

技术分享

用下面的方法设置以后

//在cell文件中实现下面的两个方法
//在下面的两个方法中分别设置Label的背景色
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];
    // Configure the view for the selected state
    
    _deadline_Label.backgroundColor = GrayBGColor;
    
}

-(void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated
{
    [super setHighlighted:highlighted animated:animated];
   
    _deadline_Label.backgroundColor = GrayBGColor;
    
 
}

技术分享

 

解决设置selectedBackgroundView后会把cell上带背景颜色的控件遮住的问题