实现tableView多选功能及出现问题解决


调用如下函数即进入编辑状态...

[self.tableView setEditing:(!self.tableView.editing) animated:YES];

//实现如下委托

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath

{

    return UITableViewCellEditingStyleDelete|UITableViewCellEditingStyleInsert;

}


CELL在xib中结构如下图

实现tableView多选功能及出现问题解决_第1张图片


问题出来了,如下图

选择前  

实现tableView多选功能及出现问题解决_第2张图片

选择后

实现tableView多选功能及出现问题解决_第3张图片


最后两行原本的灰色效果应该是这样的,可选择后却变成如上状态了,这不是我想要的结果。。。。


经过测试发现原来在编辑状态下,勾选一个cell会对该cell里的所有imageView对象的backgroundColor 设置为一个勾选状态下的颜色值,找到原因就好办了,在选择的情况下去除背景颜色即可

在自定义的cell里,重载

-(void)layoutSubviews

{

    [super layoutSubviews];


    if (self.selected)

    {

        self.cellBackImageView.backgroundColor = [UIColor clearColor]; //

        self.cellRockImageView.backgroundColor = [UIColor clearColor];


    }

    

    

}



你可能感兴趣的:(iOS)