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 上显示红色删除按钮?
我如何以编程方式将 uicollectionview 放在扩展的 uitableviewcell 中