cell左滑删除功能

cell左滑删除功能

实现方法有两种,都是通过UITableView的代理方法实现:

方法一:

UITableView 的代理方法中,有一个代理方法:

- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath

在此方法中,使用UI TableViewRowAction 展示cell左滑内容和一些处理动作。

如:

- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath

{

    UITableViewRowAction  *action = [UITableViewRowAction rowActionWithStyle: UITableViewRowActionStyleDefault  title:@“删除” handler:^(){

      //在此block块中处理删除逻辑

}]; 


return @[action];

}


方法二:

用到UITableView中的几个代理方法


//返回 显示删除按钮

1- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath

{

    return  UITableViewCellEditingStyleDelete;

}


//确保cell可以编辑

2- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath

{

    return YES;

}


   //在此代理方法中显示cell左滑的文字

3、- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath

{

   return @“删除”;

}


 //左滑—>点击删除按钮   调用此代理方法

4- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath

{

      根据indexpath删除相应数据源,并重新加载次行cell数据

    [self.dataSourceArr removeObjectAtIndex: indexPath.row];

     [self.tableView  deleteRowsAtIndexPath:@[indexPath]  withRowAnimation:UITableViewRowAnimation];

}


你可能感兴趣的:(UIBug)