iOS tableView的单选与多选

本文介绍了在iOS应用中实现tableView的单选和多选功能的思路与主要代码。对于单选,点击cell时选中当前cell并取消上一个选中的。多选则通过维护一个数组,当点击cell时,根据数组中是否包含cell的数据来决定添加或移除。

iOS tableView的单选与多选

思路:

  1. 单选:点击cell,选中当前的,取消上一次选中的(该文章无此需求,单选后直接携带数据返回上一页,所以先不写这块代码)
  2. 多选:创建array,点击cell,若array中无当前cell的数据,则将该数据存到array中,若array中有当前cell的数据,则移除该数据。

主要代码:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
   //此处展示关键内容
    if ([self.nowSelectObjectArr containsObject:self.allMesArr[indexPath.row]]) {
        cell.leftLabel.textColor = MPSBlueColor;
        cell.rightSelectImage.hidden = NO;
    }else{
        cell.leftLabel.textColor = [UIColor blackColor];
        cell.rightSelectImage.hidden = YES;
    }
    return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    if (self.canMultipleChoice) {//多选
        if ([self.nowSelectObjectArr containsObject:self.allMesArr[indexPath.row]]) {
            [self.nowSelectObjectArr removeObject:self.allMesArr[indexPath.row]];
        }else{
            [self.nowSelectObjectArr addObject:self.allMesArr[indexPath.row]];
        }
        [tableView reloadData];
    }else{//单选
        [self.navigationController popViewControllerAnimated:YES];
        self.selectBlock_Single(self.allMesArr[indexPath.row]);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值