iOS cell自定义左滑/侧滑删除(支持iOS11)

公司最近提出一个需求是侧滑删除需求,很简单,但是给的图是这样的


看到这张图肯定是需要自定义的,因为之前没有自定义侧滑删除按钮过,所以就百度了一番,有许多,但是实际用起来却有很多问题。


结果一


自定义cell

这种方法只能适用于iOS 11以前的版本,而且有个bug,就是左滑菜单收起来的时候,背景图片会有闪一下的bug。

结果二


自定义cell2.0

这个方法解决了系统版本问题,解决了左滑菜单收起来的时候,背景图片会闪的bug,但是还是有个bug,就是iOS 11以上版本,在一个cell左滑菜单没有收起来时,新左滑的cell没有了想要效果。这是因为iOS11的左滑选项的视图层级有了较大改变。最显著的改变是左滑删除是UITableViewCell的子视图变成了UITableView的子视图,所以会出现这个问题。

最终解决


获取当前左滑cell的index
左滑代理
自定义按钮

这里设置图片,但是依然给出标题“删除”是因为在iOS11以下版本,title给空的话左滑删除按钮会很窄,subView.subviews[0] 获取按钮时可以拿UIButton接收,但是设置button图片时,iOS11又有bug,所以我选择拿UIView接收,然后添加图片或者自定义的界面。

代码参考另一篇UITableView左滑删除自定义代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容