系统自定义的点击背景有时间觉得效果不好想换个
- (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; if (selected) { self.backgroundColor = [UIColor redColor]; }else { self.backgroundColor = [UIColor whiteColor]; } }
如果你发现时上面的,0-0那肯定没成功啊,为什么呢?
打开层级,可以看到,原来在下面,这样就简单了,只需要在初始化cell后加上这么一段代码
cell.selectionStyle = UITableViewCellSelectionStyleNone;
效果图:
-0-成功了~~~~~~~~~~~~~~~~~~~
add...
如果想实现闪一下而不是一直选择的话,可以用tablview的代理实现
首先:
- (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; if (selected) { self.backgroundColor = [UIColor whiteColor]; }else { self.backgroundColor = [UIColor whiteColor]; } }
在tablview的代理中:
- (void)tableView:(UITableView *)tableView didHighlightRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; cell.backgroundColor = [UIColor greenColor]; }
效果图:
so-简单方法,自定义cell里面,可以实现一样的效果,也不用在外面写了
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated { [super setHighlighted:highlighted animated:animated]; if (highlighted) { self.backgroundColor = [UIColor redColor]; }else { self.backgroundColor = [UIColor whiteColor]; } }