tableview 选中一行后,不显示选中颜色。。。。的N种解决办法


tableview 选中一行后,不显示选中颜色,不要将tableview的allowsSelection设置成NO,那样的话可能导致tableview不能响应点击动 作。合理的解决方法是:

直接在创建cell的时候:

cell.selectionStyle = UITableViewCellSelectionStyleNone;

或者你是通过XIB创建的cell那么写在xib的nib里边也是可以的:(原理相同)

- (void)awakeFromNib {
    //取消cell 选中风格
    self.selectionStyle = UITableViewCellSelectionStyleNone;
}

还有没有别的?再试试这个回调的函数来取消

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
 [tableView deselectRowAtIndexPath:indexPath animated:YES]; //NO关闭动画效果 
}

(不过这个会闪一下哦,但是也算一种方式撒)

当然 还有一种就是 cell创建的时候 你在创建一个画布 把它覆盖了 但是 有简单的你确定你还要自己创建?

//取消选中颜色 
 UIView *backView = [[UIView alloc] initWithFrame:cell.frame];
  cell.selectedBackgroundView = backView;
  cell.selectedBackgroundView.backgroundColor = [UIColor clearColor];


你可能感兴趣的:(tableview 选中一行后,不显示选中颜色。。。。的N种解决办法)