关于tableview的多选问题

转载 2015年11月21日 11:50:11

声明下,虽然说的是原创,但是所有的方法都是谷歌搜到的,我只是整理者;

目前我发现有两种方法,第一种方法:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return UITableViewCellEditingStyleDelete | UITableViewCellEditingStyleInsert;
}

当设置 tableview

[self.cardTableview setEditing:YES animated:YES];

就会出现多选的状态。

至于判断哪些被选中了,这个只能用两个方法来判断

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath NS_AVAILABLE_IOS(3_0);

这种方法我不是很明白为什么会实现这种效果,但是事实就是可以实现,并且有人用这种方法也成功上架了,但是我不是很推荐这种方法,

总感觉怪怪的。


下面我推荐第二种方法,这个方法是苹果自己官网给的(点我进入苹果开发者中心),第二种方法如下:

self.cardTableview.allowsMultipleSelectionDuringEditing = YES;


然后设置tableview

[self.cardTableview setEditing:YES animated:YES];


同样会出现多选效果

获取被选中的cell

- (NSArray *)indexPathsForSelectedRows NS_AVAILABLE_IOS(5_0); 


设置多选的选择范围

- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath*)indexPath {
    if (indexPath.row < 4) {
        return YES;
    } else {
        return NO;
    }
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    // (...) configure cell

    if (indexPath.row < 4) {
        cell.selectionStyle = UITableViewCellSelectionStyleBlue;
    } else {
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }
}



效果图如下:ios6


tableView自带的多选功能

  • 2015年08月27日 13:58
  • 35KB
  • 下载

tableView多选

  • 2015年11月04日 18:22
  • 36KB
  • 下载

iOS tableView多选,长按弹出菜单

1、tableView支持多选cell和单选cell,默认是单选的,如果要开启多选,需要定义tableView的一个属性,// self.tableView.allowsMultipleSele...

tableview 多选删除

ISO TableView 多选删除,方便做项目用

iOS 中tableView 多选时怎么更改cell前的选中框样式

iOS 中tableView 多选时怎么更改cell前的选中框样式 一直想做一个好一点的demo给大家,今天也是由于时间匆匆就大致写了一下tableView多选时,怎么更改前面的的选中款,使之变为自己...

iOS tableview cell 多选 (批量邀请好友)

// //  AddTeamMeberViewController.h //  HengTaiXinGolf // //  Created by 欧阳荣 on 16/4/21....

tableview某一个section实现多选

viewcontroller.m #import "ViewController.h" #import "SectionOneCell.h" #import "SectionTwoCell.h"...

同一个tableview实现多选单选删除

大多初学者对tableview实现删除,点击cell是都能实现的,但对于多选,单选却不是那么理解。。写了一个demo可供参考(不当之处请及时指出)1,在.h文件中声明一个变量type,用于区分进入当前...

关于tableView多选删除的编辑设置

-(void)editAction:(UIButton*)sender {     [self.tableView setEditing:YES animated:YES]...

tableview 编辑状态下,UITableViewCellEditingStyleDelete | UITableViewCellEditingStyleInsert 多选的时候,替换圆圈图片

改变tableview编辑状态下,左边圆圈的默认打勾颜色。有其他处理方法,记得告诉一下呢。...
  • Lin_HY
  • Lin_HY
  • 2015年01月07日 17:20
  • 4105
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于tableview的多选问题
举报原因:
原因补充:

(最多只允许输入30个字)