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

时间:2014-03-09 23:44:55

标签: ios uitableview

当用户在单元格上滑动时,启用滑动删除按钮显得很简单。但是,我想在发生其他事件时显示此删除按钮。这可能吗?


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

1 个答案:

答案 0 :(得分:1)

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

tableView:willBeginEditingRowAtIndexPath:是您第一次抓住启动Apple预先构建的单元格编辑模式的事件(假设tableView的dataSource配置了tableView:commitEditingStyle:forRowAtIndexPath: ...)并且已经硬连线到滑动手势由tableView本身识别。

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

虽然我们中的许多人都会对这些“编辑”视图进行混合,以便在我们的应用程序中启动其他内容而无需继承UITableViewCell,但是为了响应不仅仅是轻扫手势的内容,将这种附件视图显示在您的单元格中是子类化的完美用例。