如何检测 UITableCell 上的右滑动并显示自定义按钮而不是删除按钮

Posted

技术标签:

【中文标题】如何检测 UITableCell 上的右滑动并显示自定义按钮而不是删除按钮【英文标题】:How can I detect a right swipe on UITableCell and display a custom button instead of Delete button 【发布时间】:2013-07-23 01:40:16 【问题描述】:

我想显示一个“复制”按钮,如果用户在 UITableView 单元格上从左向右滑动,通常会出现删除按钮。我知道我可以按照此示例 https://***.com/a/6167841/2567126 向单元格添加手势识别器。

如何在单元格上创建和放置一个按钮,以便它以与删除按钮类似的方式显示以允许用户确认操作?这些单元格只是具有默认样式的标准 UITableViewCells。

【问题讨论】:

您可以添加一个 UIButton 作为单元格的子视图 您可以尝试搜索.. 添加 UIButton 作为子视图是一件小事。 效果很好,关于如何将按钮放置在左侧、全高、宽度以匹配标题以及将单元格的其余内容向右移动的任何想法包括动画? 我还需要检测用户何时单击其他地方以删除按钮,以便它以与删除按钮一致的方式工作? 不知何故,我需要在创建复制按钮以捕获任何手势时添加手势识别器,然后检查用户是否单击了复制按钮,如果是,则执行复制功能并删除按钮,如果不只是删除按钮。 【参考方案1】:

您可以使用委托方法- tableView:titleForDeleteConfirmationButtonForRowAtIndexPath:更改删除按钮的标题。

【讨论】:

我猜这是一个选项,但我真的不想改变左滑动/删除行为。我只希望右滑动具有完全相同的行为,但左侧出现一个绿色的“复制”按钮,并且“编辑”按钮变成了“完成”按钮。

以上是关于如何检测 UITableCell 上的右滑动并显示自定义按钮而不是删除按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何检测由滑动触发的后退导航并在iOS上将其停止?

如何检测 SwiftUI 中的右键单击?

如何在离子应用程序中检测多指触摸

IOS/Objective-C:检测 UIVIew 上的滑动和屏幕相同位置的按钮触摸

如何检测 WKWebView 正在关闭,来自 javascript

如何检测同时滑动和触摸结束