UITableView实现全选

来源:互联网 发布:linux查看mysql服务 编辑:程序博客网 时间:2024/06/06 00:57

UITableView实现全选以及取消全选

在此之前我曾经写过UITableView如果实现多选,在简书中,有需要的可以点击查看。UITableView实现多选。


在实现多选的基础上,进行全选以及取消全选的操作


*全选的操作

全选的操作

数组为TableView的行数组,因为我点击tableView的时候有操作,拼接字符串,所以我在全选的时候让每一行都去走一遍select方法。


*取消全选的操作

取消全选的操作

和上面同理


下面是我在我工程里的实际应用

应用


粘上代码,给下次犯懒的自己

- (void)selectAll:(UIButton *)sender {if ([self.navigationItem.rightBarButtonItem.title isEqualToString:@"全选"]) {    for (int row = 0; row < _classArr.count; row++) {        NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:0];        NSString *servicesItemStatus = [NSString stringWithFormat:@"%@", [_classArr[indexPath.row] objectForKey:@"servicesItemStatus"]];        // 如果没有添加过        if (![servicesItemStatus isEqualToString:@"1"]) {            [self tableView:_tbView didSelectRowAtIndexPath:indexPath];            [_tbView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];        }    }    self.navigationItem.rightBarButtonItem.title = @"取消全选";}else {    for (int row = 0; row < _classArr.count; row++) {        NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:0];        NSString *servicesItemStatus = [NSString stringWithFormat:@"%@", [_classArr[indexPath.row] objectForKey:@"servicesItemStatus"]];        // 如果没有添加过        if (![servicesItemStatus isEqualToString:@"1"]) {            [self tableView:_tbView didDeselectRowAtIndexPath:indexPath];            [_tbView deselectRowAtIndexPath:indexPath animated:NO];        }    }   self.navigationItem.rightBarButtonItem.title = @"全选";}}
0 0
原创粉丝点击