iOS开发之tableView实现左滑删除功能

发布时间 - 2026-01-10 22:31:21    点击率:

前言

这几天要实现左划删除的功能,发现网上很多帖子大多出自一人之手,然后都是 copy 的文章,其实都没有那么复杂,只实现一个代理方法就可以了

方法如下

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

 // 删除数据源的数据,self.cellData是你自己的数据
 [self.cellData removeObjectAtIndex:indexPath.row];
 // 删除列表中数据
 [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
 }

}

默认删除的文字为 Delete,要改为中文实现

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
 return @"删除";//默认文字为 Delete
}

下面这两个代理方法不用写也可以,默认就是这样

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
 return UITableViewCellEditingStyleDelete;
}

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

如果你报了这个错误:

'Invalid update: invalid number of rows in section 0. The number of rows contained in an existing section after the update (5) must be equal to the number of rows contained in that section before the update (5), plus or minus the number of rows inserted or deleted from that section (0 inserted, 1 deleted) and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out)

你把代理方法中这两个方法顺序搞混了,先删除数据,再删除 cell

[self.cellData removeObjectAtIndex:indexPath.row];这个方法在前

[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];这个方法在后

还有就是,别2到没设置代理,tableView.delegate = self;

总结

以上就是关于iOS利用tableView实现左划删除功能的全部内容了,希望本文的内容对给iOS开发者们能有一定的帮助,如果有疑问大家可以留言交流。


# tableview左划删除  # tableview左滑删除  # ios  # tableview  # 删除  # iOS应用开发中对UIImage进行截取和缩放的方法详解  # iOS应用开发中使用UIScrollView控件来实现图片缩放  # iOS UITableView展开缩放动画实例代码  # iOS开发中Quartz2D控制圆形缩放和实现刷帧效果  # iOS实现点击微信头像(放大、缩放、保存)效果  # iOS tableView实现头部拉伸并改变导航条渐变色  # iOS App中UITableView左滑出现删除按钮及其cell的重用  # 解决iOS11刷新tableview会出现漂移的现象  # IOS实现左右两个TableView联动效果  # iOS TableView头视图根据偏移量下拉缩放效果  # 这两个  # 自己的  # 都是  # 如果你  # 一人  # 有一定  # 这几天  # 你把  # 之手  # 在前  # 报了  # 混了  # 就可以  # 方法如下  # 列表中  # 网上  # 有疑问  # indexPath  # UITableViewCellEditingStyleDelete  # NSIndexPath 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何基于云服务器快速搭建网站及云盘系统?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何挑选优质建站一级代理提升网站排名?  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Laravel如何实现用户注册和登录?(Auth脚手架指南)  Android 常见的图片加载框架详细介绍  深圳网站制作平台,深圳市做网站好的公司有哪些?  Laravel如何创建自定义Artisan命令?(代码示例)  javascript读取文本节点方法小结  ,怎么在广州志愿者网站注册?  如何在阿里云通过域名搭建网站?  手机网站制作与建设方案,手机网站如何建设?  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  C++时间戳转换成日期时间的步骤和示例代码  高性价比服务器租赁——企业级配置与24小时运维服务  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  实例解析angularjs的filter过滤器  如何在宝塔面板创建新站点?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  Android仿QQ列表左滑删除操作  网站制作报价单模板图片,小松挖机官方网站报价?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  phpredis提高消息队列的实时性方法(推荐)  如何获取上海专业网站定制建站电话?  Linux系统命令中screen命令详解  音响网站制作视频教程,隆霸音响官方网站?  开心动漫网站制作软件下载,十分开心动画为何停播?  如何快速搭建支持数据库操作的智能建站平台?  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  如何批量查询域名的建站时间记录?  如何用虚拟主机快速搭建网站?详细步骤解析  详解Android——蓝牙技术 带你实现终端间数据传输  Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  node.js报错:Cannot find module 'ejs'的解决办法  如何在腾讯云服务器上快速搭建个人网站?  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  在线制作视频的网站有哪些,电脑如何制作视频短片?  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  网站制作壁纸教程视频,电脑壁纸网站?  香港服务器如何优化才能显著提升网站加载速度?