美文网首页
iOS 11 侧滑删除cell

iOS 11 侧滑删除cell

作者: panda_熊猫 | 来源:发表于2017-09-22 20:18 被阅读215次

    #pragma mark 左滑删除

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

    return YES;

    }

    -(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath {

    return @"删除";

    }

    // 第一种方法

    //*8.0之后出现的可以设置左划后显示的内容

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

    UITableViewRowAction *action1 = [UITableViewRowAction rowActionWithStyle:1 title:@"删除" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {

    if ([_dataList count]>indexPath.row) {

    [_dataList removeObjectAtIndex:indexPath.row];

    [_tableView reloadData];

    }

    }];

    action1.backgroundColor = [UIColor redColor];

    return @[action1];

    }

    //第二种 ios 11

    - ( UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath {

    //删除

    UIContextualAction *deleteRowAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleNormal title:@"delete" handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) {

    if ([_dataList count]>indexPath.row) {

    [_dataList removeObjectAtIndex:indexPath.row];

    [_tableView reloadData];

    }

    completionHandler (YES);

    }];

    deleteRowAction.image = [UIImage imageNamed:@"icon_del"];

    deleteRowAction.backgroundColor = [UIColor blueColor];

    UISwipeActionsConfiguration *config = [UISwipeActionsConfiguration configurationWithActions:@[deleteRowAction]];

    return config;

    }

    相关文章

      网友评论

          本文标题:iOS 11 侧滑删除cell

          本文链接:https://www.haomeiwen.com/subject/qntqextx.html