iOS实现UITableView左滑删除复制即用功能

开发项目时候需要用到tableview左滑删除,就研究了一下,话不多说直接上代码

//设Cell可编辑

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

{

return YES;

}

//设置删除按钮

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

{

return UITableViewCellEditingStyleDelete;

}

//进入编辑(删除)模式

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

{

//出现alterView隐藏删除按钮

[tableView setEditing:NO animated:YES];

if (editingStyle == UITableViewCellEditingStyleDelete) {

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"提示" message:@"你确定删除该消息?" preferredStyle:UIAlertControllerStyleAlert];

[alertController addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil]];

[alertController addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {

//需要先删除数据源中对应数据,不然执行下一步会崩溃

[reconnaissanceListArr removeObjectAtIndex:indexPath.row];

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

}]];

[self presentViewController:alertController animated:YES completion:nil];

}

}

//修改编辑按钮文字

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

{

return @"删除";

}

//设置进入编辑状态时,Cell不会缩进

- (BOOL)tableView: (UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath

{

return NO;

}

总结

以上所述是小编给大家介绍的iOS实现UITableView左滑删除复制即用功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

以上是 iOS实现UITableView左滑删除复制即用功能 的全部内容, 来源链接: utcz.com/z/324679.html

回到顶部