
系统自定义的点击背景有时间觉得效果不好想换个
- (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];
}
}