UITableViewCell - 我可以以编程方式显示“删除”按钮吗?

Posted

技术标签:

【中文标题】UITableViewCell - 我可以以编程方式显示“删除”按钮吗?【英文标题】:UITableViewCell - Can I show the 'Delete' button programatically? 【发布时间】:2014-03-09 23:44:55 【问题描述】:

当用户在单元格上滑动时,启用滑动删除按钮是微不足道的。但是,我想在发生不同事件时显示此删除按钮。这可能吗?

请注意,添加我自己的删除按钮也很简单,但出于几个原因,我想使用 Apple 的 - 本地化、即将推出的 ios 版本的一致性等。

【问题讨论】:

是否将表格视图设置为编辑模式并实现tableView:editingStyleForRowAtIndexPath:您要查找的内容? @Wain 不抱歉,这会显示一个红色减号,您需要点击它才能看到删除按钮 - 我想跳过这一步。 好的,我不确定有没有办法做到这一点...... 【参考方案1】:

TL:DR;不,此事件会响应 UITableViewDelegate 协议中的手势触发,您不能手动调用它。你必须自己动手。

tableView:willBeginEditingRowAtIndexPath: 是您第一次有机会捕捉到启动 Apple 预构建单元格编辑模式的事件(假设 tableView 的 dataSource 已配置 tableView:commitEditingStyle:forRowAtIndexPath:...)并且它已被硬连接到 tableView 识别的滑动​​手势本身。

tableView 捕获此 UISwipeGesture 和调用 tableView:willBeginEditingRowAtIndexPath: 之间的所有内容都隐藏在 UITableView 的私有 API 中。

虽然我们中的许多人确实将这些“编辑”视图混为一谈,以便在我们的应用程序中启动其他东西,而不必继承 UITableViewCell 子类,但让这种辅助视图显示在您的单元格中,以响应不仅仅是滑动手势是子类化的完美用例。

【讨论】:

以上是关于UITableViewCell - 我可以以编程方式显示“删除”按钮吗?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以以编程方式在 UITableViewCell 上显示红色删除按钮?

以编程方式“触摸”UITableViewCell?

我如何以编程方式将 uicollectionview 放在扩展的 uitableviewcell 中

以编程方式将 UIImageViews 添加到 UITableViewCell

以编程方式在 UITableViewCell 上设置约束

如何以编程方式使 UICollectionView 填充 UITableViewCell?