关于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


UITableview 多选 解决cell重用问题

原文地址:http://blog.csdn.net/u011254628/article/details/18089503 假如  我们有100个cell  这时肯定 是需要重用的 解决方...
  • u012894479
  • u012894479
  • 2014年08月02日 10:10
  • 1209

##TableView实现多选,并限制选择个数

TableView实现多选,并限制选择个数 今天帮同学倒腾了了这个需求,由于手生,弄了快一个小时才完全弄好。因此记录下来,涨涨经验。 如题:要实现tableView的多选,并要限制个数N。 思路:...
  • amoslyc
  • amoslyc
  • 2016年03月30日 10:30
  • 3030

关于tableview的多选问题

声明下,虽然说的是原创,但是所有的方法都是谷歌so
  • zjszyms
  • zjszyms
  • 2014年09月02日 11:26
  • 1459

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

// - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:...
  • zttjhm
  • zttjhm
  • 2014年07月11日 17:12
  • 11545

Swift - tableView的单元格多选功能的实现(获取多选值、多选删除)

有时候在我们应用中需要用到表格(tableView)的多选功能。其实 tableView 已自带了多种多选功能,不用借助第三方组件也可以实现。下面分别进行介绍。 方法1,自定义一个数...
  • mo_xiao_mo
  • mo_xiao_mo
  • 2016年09月21日 11:43
  • 1820

iOS tableView多选,全选

实现了多个分组的卷展显示,单行选择及分组全选的功能 首先定义需要是用到的几个数组及tableview [objc] view plain copy   ...
  • xttttttttt
  • xttttttttt
  • 2017年04月19日 09:46
  • 506

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

-(void)editAction:(UIButton*)sender {     [self.tableView setEditing:YES animated:YES]...
  • taylorlannister
  • taylorlannister
  • 2016年06月06日 14:01
  • 1264

swift uitableview 多选

oc的方法关键delegate方法是 : - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyle...
  • wahaha13168
  • wahaha13168
  • 2016年05月25日 21:58
  • 500

tableviewcell的单选和多选

iOS开发中,有时候需要实现tableView中cell的单选或者复选,这里举例说明了怎么简单的实现 首先自己创建一个列表,实现单选,先定义一个变量记录每次点击的cell的indexPath: @...
  • qq_29846663
  • qq_29846663
  • 2016年12月12日 13:59
  • 427

自定义tableViewCell和设置多选

TableView.m 头文件 #import @interface SmallKindsTableVC : UITableViewController -(void)setNavigato...
  • u012765274
  • u012765274
  • 2015年09月01日 18:20
  • 2414
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于tableview的多选问题
举报原因:
原因补充:

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