解决 tableView 选中时 subView 的背景色失效问题

在一次自定义 cell 时,我设置了一个 subView 的 backgroundColor,并且没有设置 cell 的 selectionStyle = UITableViewCellSelectionStyleNone,然后当点击 cell 的时候,这个 subView 的背景色竟然不生效了,变成了和 cell 的 highlightColor 一样,就像下图一样:

highlightState.jpeg

最终的解决办法就是:在 cell 的状态改变时,重新设置 subView 的背景色:

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated{
    
    UIColor *backgroundColor = self.tagView.backgroundColor;
    [super setHighlighted:highlighted animated:animated];
    self.tagView.backgroundColor = backgroundColor;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated{
    
    UIColor *backgroundColor = self.tagView.backgroundColor;
    [super setSelected:selected animated:animated];
    self.tagView.backgroundColor = backgroundColor;
}

上面的 tagView 就是设置了背景色的一个 subView。

如果各位有更好的解决办法,希望共享一下下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《iOS 列表性能优化之异步绘制[https://mp.weixin.qq.com/s/AX-WY2HalDKE6...
    goyohol阅读 296评论 0 1
  • 1.nav1.navigationBar.barStyle=UIBarStyleBlack; //改变导航栏背景颜...
    SadMine阅读 1,662评论 1 4
  • 世界上 每个人都是医生 同时,每个人也都是患者 有些病,需要别的医生来治 比如一场电影,一个约会,一次事故,一阵寂...
    秦溱阅读 178评论 0 0
  • 花开花谢,红颜飘落 一缕清香,散发出青春的韵味 我感觉你很淡雅,淡雅透露出了一种芳香 芳香如梦,点缀出清脆而神秘的...
    学无止境方为大师阅读 192评论 0 1