** UITableView 编辑步骤
1.让 tableView 处于编辑状态
2.协议确定
1)确定 cell 是否处于编辑状态
2)设定 cell 的编辑样式(删除、添加)
3) 编辑状态进行提交**
Paste_Image.png
-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
//插入
// return UITableViewCellEditingStyleInsert;
//删除
return UITableViewCellEditingStyleDelete;
}
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
switch (editingStyle) {
case UITableViewCellEditingStyleNone:
{
}
break;
case UITableViewCellEditingStyleDelete:
{
//修改数据源,在刷新 tableView
[_dataSource removeObjectAtIndex:indexPath.row];
//让表视图删除对应的行
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
break;
case UITableViewCellEditingStyleInsert:
{
[_dataSource insertObject:@"我是新增" atIndex:indexPath.row];
//让表视图添加对应的行
[tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
break;
default:
break;
}
}
-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
return @"删除";
}
删除.gif
添加.gif
-(BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
-(void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath
{
//修改数据源
[_dataSource exchangeObjectAtIndex:sourceIndexPath.row withObjectAtIndex:destinationIndexPath.row];
//让表视图对应的行进行移动
[tableView exchangeSubviewAtIndex:sourceIndexPath.row withSubviewAtIndex:destinationIndexPath.row];
}
移动.gif