`

UITalbeView系列-滑动显示“删除”

 
阅读更多

腾讯的QQ和微信中都有这样的操作,对一个UITableView中的cell,向左滑动的时候,会在对应的cell右侧(iOS7.0样式发生了一点变化)出现一个“删除”按钮

要达到这样的效果,完全用系统的就可以,不需要自定义一个Button,加到cell后面,同时给cell加手势捕获这个操作。

注意:如果在cell加一个手势(测试中我用的Pan),那么cell系统自己的就不生效了。

生效主要依赖3个代理方法(要是说成一个也行)
(1)- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
这是最主要的方法,如果要显示“删除”,把这个“按钮”的响应事件写好。

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

“Allows customization of the editingStyle for a particular cell located at 'indexPath'. If not implemented, all editable cells will have UITableViewCellEditingStyleDelete set for them when the table has editing property set to YES.”

就像API中说的一样,“如果不实现,所有的cell(默认都是可编辑的)都会有UITableViewCellEditingStyleDelete这个类型”,所以不写这个方法,照样能出现。但是,如果你对indexPath的cell返回了其他Style,那就没有了。
所以,根据具体逻辑和业务,灵活返回具体的Style

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


“Individual rows can opt out of having the -editing property set for them. If not implemented, all rows are assumed to be editable.”
在(2)中已经提到了,所有的cell都是默认可编辑的


总结:如果要单纯的实现“滑动出现删除按钮”,只需要实现(1)就OK了。
通过(2)(3)的配合,完成相应的逻辑和业务。
至于调用顺序:
(3)是在UITableViewDataSource中的,table显示的时候就调用了,处在第一响应位。
(2)如果某一行可以编辑,会调用这个返回具体的Style。
(1)则是点击了“按钮”以后才会进的。

附:
如果要更改按钮的title,很简单实现另外一个代理方法。
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
分享到:
评论

相关推荐

    uitalbeview展开

    uitableview展开效果,iphone有时会用到的一些功能。比较好的资料

    asp代码ASP基于WEB个人博客网页设计(源代码+论文+答辩)

    asp代码ASP基于WEB个人博客网页设计(源代码+论文+答辩)本资源系百度网盘分享地址

    三菱PLC例程源码打包机

    三菱PLC例程源码打包机本资源系百度网盘分享地址

    asp代码ASP基于USBKEY文件加密工具-USBkey管理系统(源代码+论文)

    asp代码ASP基于USB KEY文件加密工具——USB key管理系统(源代码+论文)本资源系百度网盘分享地址

    Android开发编码规范

    该文档是《阿里巴巴Java开发手册》的规约条目的延伸信息; 其中包含了对内容的适当扩展和解释。它提供了编码和实现方式的正例,以及需要提防的雷区和错误案例的反例。该文档面向Android开发所有成员,旨在规范化代码风格和编程习惯,并提出了针对软件调优的建议。其中包括Android资源文件命名与使用、Android基本组件、UI与布局、进程、线程与消息等方面的内容

    网络安全-逆向学习路线

    红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线

    which-2.20.tar.gz

    算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    asp代码ASP基于bs在线花店系统设计(源代码+论文)

    asp代码ASP基于bs在线花店系统设计(源代码+论文)本资源系百度网盘分享地址

    基于深度学习的轨道交通客流实时分析预测系统 第二版(前端).zip

    人工智能毕业设计&课程设计

    解决端口占用netstat -ano

    解决端口占用netstat -ano

    tensorflow_onmttok_ops-0.1.1-cp35-cp35m-manylinux2014_x86_64.whl

    算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    基于深度学习框架的图像识别:手势识别。使用到:CaffeTensorFlowCNNopenCVcpppythondesign

    人工智能-深度学习-tensorflow

    Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码)

    Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目

    JAVA的GUI实现可视化学生管理系统

    JAVA的GUI实现可视化学生管理系统

    WeRoBot-1.5.0-py3-none-any.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    基于ssm小区物业管理系统.zip

    基于ssm小区物业管理系统.zip

    RStudio的15个经典高效快捷操作.pdf

    RStudio的15个经典高效快捷操作

    scratch 0.3 2D我的世界

    鼠标左键:破坏攻击 鼠标右键:放置方块/使用物品 W:前进连按两下W:奔跑 S:后退 A:左移 D:右移 空格键:跳跃 左Shift:潜行 Q:丢弃物品 E:打开背包【Beta1.3版本之前打开背包键为I】 F:调整可视范围【1.8以前版本可用】 T:聊天【多人游戏可用】 双击空格:上升并飞行【创造模式可用】 创造模式飞行中左Shift:下降【创造模式可用】 F1:隐藏界面 F2:截图 F3:查看游戏信息(坐标,帧数,游戏时间,游戏占用内存,等等详细信息) F3+S:游戏无声音时切换出声音 F3+F:调整可视范围【1.8以后版本可用】 F5:第三人称模式 F8:鼠标平滑移动 F11:全屏/窗口切换 1、用石剑攻击三次苦力怕,可以使苦力怕的血量降到最低(建议前期使用,因为前期材料不多,推荐此方法)。 2、用满力(拉满力)的弓攻击苦力怕(两次),此方法简单可靠,你可以在你的屋顶实现,简单高效(建议中期使用,初期的话没有弓与箭,初期建议使用方法一)。 3、用铁剑攻击,这个方法苦力怕的残血值会比方法1高一些,可能骷髅一箭射不死,你的功劳就白费了

    tensorflow_ranking-0.2.3-py2.py3-none-any.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    wheel-0.41.0-py3-none-any.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

Global site tag (gtag.js) - Google Analytics