• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Miss琴瑟静听 ====IOS开发博客
琴瑟静听,岁月无恙
博客园    首页    新随笔    联系   管理    订阅  订阅
[IOS 开发] 自定义(重写) UITableViewCell的高亮背景色

IOS的sdk中,对UITableViewCell的高亮背景色只支持两种颜色,分别为UITableViewCellSelectionStyleBlue和UITableViewCellSelectionStyleGray。

那么如何自定义这个颜色呢。一个思路是当用户点下cell时设置你想要的cell的背景色,当释放点击时给cell重新设回原来的背景色,这样就能达到预想的效果了。

下面是具体实现的代码:

 

 

- (void)drawRect:(CGRect)rect  
{  
    if (self.highlighted) {  
        self.backgroundColor = [UIColor colorWithHexString:@"0x383838"];  
    }else{  
        self.backgroundColor = [UIColor clearColor];  
    }  
}  
  
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated  
{  
    [super setHighlighted:highlighted animated:animated];  
    [self setNeedsDisplay];  
}  

 

1. 继承UITableViewCell

        2. 重写以上两个方法。

         当每次用户点击或者释放的时候,系统都会来调用下面这个方法,从而来改变cell的高亮背景色。

 

 

 

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated

 

posted on 2015-06-05 17:41  Miss琴瑟静听  阅读(665)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3