使UItableViewCell 变为可删除状态

在ios中实现左划cell 可删除 示例图



思路: 四个方法



1.让tableView处于可编辑状态


2.设置某一行 是否可以编辑


3.设置编辑风格(删除 或是添加  移动)


4提交编辑操作


1.让tableView处于可编辑状态

-(void)setEditing:(BOOL)editing animated:(BOOL)animated{

[super setEditing:editing animated:animated];
[self.tableView setEditing:editing animated:animated ]

}


2.设置某一行 是否可以编辑


-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{
    return YES;
}

3.设置编辑风格(删除 或是添加  移动)

-(UITableViewCellEditingStyle )tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
 
//删除风格
   return UITableViewCellEditingStyleDelete;

//多选风格 UITableViewCellEditingStyleDelete | UITableViewCellEditingStyleInsert]

}
4提交编辑操作
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{

if(editingStyle==UItableViewcellEditingStyleDelete){

nsstring key=_allkey[Indexsection];
nsarry *group=[_classDic valueForkey:key];
if(group.count==1){


[_classDic removeObject:_allkeys[index.section]];
[_allkeys removeObjedtAtIndex:indexPath.section];

   //2.UI界面删除
            
            [tableView deleteSections:[[NSIndexSet alloc]initWithIndex:indexPath.section] withRowAnimation:UITableViewRowAnimationRight];
        
        }
else
{
        
            //行删除

            //1.数据删除
            [group removeObjectAtIndex:indexPath.row];
 
            //ui界面删除

            [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationMiddle];
               


          }

     }


}


上述操作只是在UI界面里做的删除操作,程序再次运行,界面还会重新出现刚才删除的cell,如果想要永久删除cell,那么需要删除对应本地的数据.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值