UITableViewCell左滑删除与按钮点击事件处理

UITableView 的左滑删除和 cell 里按钮的点击事件,算是 iOS 开发里用得比较频繁的两个交互。左滑删除其实系统都帮你封装好了,用tableView(_:commit:forRowAt:)一写,配合更新数据源,删除动画就出来了,操作起来还挺丝滑的。

cell 按钮点击稍微绕点,关键是你要搞清楚是哪个 cell 触发的。一般做法是在自定义 cell 里添加按钮,通过代理把事件抛回控制器。这里推荐用delegate,写法清爽,还好维护。

你如果数据比较多,或者 cell 高度不一,记得做下复用和约束优化,不然容易出问题。还有左滑删除记得下空数据的边界情况,用户体验会好多。哦对了,cell 按钮事件也可以考虑用闭包方式回调,适合简单业务场景。

如果你还想深入了解侧滑菜单的花样玩法,可以看看UITableViewCell 左滑菜单功能实现这篇,也挺实用的。

zip
UITableViewCell左滑动删除.zip 预估大小:49个文件
folder
UITableViewCell左滑动删除 文件夹
folder
UITableViewCell左滑动删除.xcodeproj 文件夹
folder
project.xcworkspace 文件夹
file
contents.xcworkspacedata 200B
folder
xcuserdata 文件夹
folder
siqiyang.xcuserdatad 文件夹
file
UserInterfaceState.xcuserstate 13KB
folder
xcuserdata 文件夹
folder
siqiyang.xcuserdatad 文件夹
folder
xcschemes 文件夹
file
xcschememanagement.plist 502B
file
UITableViewCell左滑动删除.xcscheme 4KB
file
project.pbxproj 12KB
file
.DS_Store 6KB
folder
.git 文件夹
folder
logs 文件夹
file
HEAD 163B
folder
refs 文件夹
folder
heads 文件夹
file
master 163B
folder
info 文件夹
file
exclude 40B
file
index 2KB
file
COMMIT_EDITMSG 15B
folder
objects 文件夹
folder
ab 文件夹
file
f1dcfb4e74fec048b075e4bdebf2f5f94d54ec 208B
folder
pack 文件夹
folder
b5 文件夹
file
28dede9f123b755ba63954e824d1dc80f8c783 881B
folder
info 文件夹
folder
b2 文件夹
file
1c4f81cf49dab46e208dd84e1c20cabef0fd64 131B
folder
35 文件夹
file
fb580a047abcaae385228a9ffba2f2bedf8c12 3KB
folder
fa 文件夹
file
d4ff8ec4ba37aca5afa8fc5e9ac104cc0db59d 349B
folder
11 文件夹
file
8c98f7461bf98b2bc7e061150d8021121ad277 161B
folder
2e 文件夹
file
721e1833f03bb0e1b962a84491d7e43e3fef9c 753B
folder
48 文件夹
file
0db8c6786c7d545aea7f5f6b21952baca62784 256B
folder
81 文件夹
file
65c0a961ddf718f202f8d8df07d58bede1ecab 51B
folder
69 文件夹
file
05cc67bbf738499f2accb4b56f5f1ddc8ce444 506B
folder
f5 文件夹
file
6d2f3bb56e8474d49393008be744986bd41c3c 719B
folder
f4 文件夹
file
82f8ba8f977c9e1262cac0c2486d7067706348 69B
folder
3b 文件夹
file
580614a407b41963b675f2428affb540b78633 127B
folder
54 文件夹
file
8be297029868413991b7e0290282b3de1fa2dd 95B
folder
09 文件夹
file
713c7729cf69cb44bd2d7e2f19c1a936c0e6e6 109B
folder
8b 文件夹
file
2d4d377812000ad471b96d0d6d6138ab91c0c5 129B
folder
95 文件夹
file
bf7f42b7757b3076a7d2f5afc476488f6613e0 59B
folder
78 文件夹
file
ed0c8585e783c6ae68c5885a5a0a47310429a3 342B
folder
3d 文件夹
file
abee0f237dbf1444840ec862f2d4b7d1bb8541 167B
folder
7c 文件夹
file
721c00ce9007011b6897600846fc2dd1b7abc6 956B
folder
ef 文件夹
file
11983b2048b838e02fff0d85d33fff759e3450 63B
folder
d9 文件夹
file
2888f6662e375b64c42e15b2561ab439468e16 287B
folder
22 文件夹
file
e9ed37e428cbb0f92585886ef946e843545a00 297B
folder
ea 文件夹
file
b616f0e8f4487791d50e620e6df67037c621da 57B
file
HEAD 23B
file
config 137B
folder
refs 文件夹
folder
heads 文件夹
file
master 41B
folder
tags 文件夹
folder
hooks 文件夹
file
README.sample 177B
file
description 73B
folder
UITableViewCell左滑动删除 文件夹
file
ViewController.m 10KB
file
Info.plist 1KB
file
main.m 358B
folder
Base.lproj 文件夹
file
LaunchScreen.storyboard 2KB
file
Main.storyboard 2KB
file
ViewController.h 239B
file
AppDelegate.h 301B
folder
Assets.xcassets 文件夹
folder
AppIcon.appiconset 文件夹
file
Contents.json 585B
file
AppDelegate.m 2KB
...
zip 文件大小:57.74KB