UITableView小技巧--实现cell向左滑动删除,编辑等功能

一、简介



ios8.0之前只能定制左划的一个功能按键,若想要实现两个左划功能按键,却需要费一番功夫。自ios8.0之后,苹果推出新的api,来让开发者可以实现自定义左划控件。



二、初始化tableview



如同普通的tableview初始化一样就可以


三、实现tableview的delegate与datasource



实现你需要实现的datasource和delegate


四、实现自定义左划控件需要的代理



如下是具体的实现代码

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

- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewRowAction *deleteAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"删除" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        DSLog(@"点击了删除");
    }];
    UITableViewRowAction *editAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"编辑" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        DSLog(@"点击了编辑");
    }];
    editAction.backgroundColor = [UIColor grayColor];
    return @[deleteAction, editAction];
}

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{
    editingStyle = UITableViewCellEditingStyleDelete;
}


你可能感兴趣的:(ios)