ios - Swift - 在静态 UITableView 中滑动以删除(没有删除按钮)

标签 ios swift xcode uitableview swift3

我想实现一个功能,使用 Swift 3.0 将整个表格单元格扫掉。比如在 iOS 10 的邮件应用中如何通过滑动来删除。

重要的是要注意,我并不是说滑动以显示删除按钮,然后处理删除。我的意思是用户可以在屏幕上从右向左滑动以删除。 (还要注意tableView是静态的,不是动态的)

我必须为此实现 UISwipleGestureRecognizer 吗?

最佳答案

您可以实现 UITableViewDataSource 方法 tableView(_:commit:forRowAt:)tableView(_:canEditRowAt:)对于包含动态内容的表格。

但是,在包含静态内容的表中,您不能插入或删除行。由于表是静态的,行应该保留。您可以做的是更新滑动的行以反射(reflect)已删除的状态。

例如:在我的应用程序中,我使用内置的滑动手势来重置设置。用户滑动行(静态内容),点击“删除”按钮,应用程序相应地在该单元格中设置标签和图像。该行不会被删除,它只是被更新,就像您通常对静态单元格所做的那样(分配 socket 并像访问其他静态内容一样访问它们)。

编辑: 还要检查 iOS 11 中 UISwipeActionsConfiguration 类的 performsFirstActionWithFullSwipe 属性。将其设置为 true 以允许完全滑动手势,无需安装您自己的识别器。

您确实提到了 iOS 10 邮件;我不知道 Apple 是否或如何在 iOS 10 中做到这一点,因为此属性是 iOS 11 的一项功能。 iOS 邮件也很可能有一个包含动态内容的表格。

关于ios - Swift - 在静态 UITableView 中滑动以删除(没有删除按钮),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42077968/

相关文章:

swift - 如何塑造类似Ipad的Popover的方向?

xcode - 快速在页脚表格 View 中添加按钮

objective-c - 需要使用BOOL*代替BOOL

ios - ios-从youtube API v3响应中提取标题

ios - 在 iOS 中,是否可以在特定时间启动基于区域的地理围栏?

ios - 是否有必要在钥匙串(keychain)中为访问组命名

ios - Swift - 如何为图像制作动画?

swift - 如何在Segue之前添加Admob Interstitial?

iOS Firebase Crashlytics::出现来自模拟器的测试崩溃,但没有来自设备的真正崩溃

xcode - 应用程序在 ios6 上崩溃,但在 ios5 中工作正常