iOS允许UITableViewCell同时滑动删除和重新排列单元格

时间:2019-03-01 17:15:48

标签: ios swift uitableview swipe

为了在UITableView中启用可重排(移动)单元格,我必须将table.isEditing设置为true并实现以下委托方法:

func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool

func tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath)

我还实现了以下委托方法来隐藏默认的表编辑UI:

func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCell.EditingStyle {
    return .none
}

func tableView(_ tableView: UITableView, shouldIndentWhileEditingRowAt indexPath: IndexPath) -> Bool {
    return false
}

我还想滑动删除此表中的单元格。我曾尝试同时使用tableView(_:editActionsForRowAt:)方法和新的iOS 11 tableView(_:trailingSwipeActionsConfigurationForRowAt:),但在table.isEditing = true时都无法使用。我使用的唯一其他相关的表委托方法是:

func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool

为所有单元格返回true

是否可以同时启用这两个UITableView功能?这似乎是可能的,因为这正是Apple Music应用程序中的表队列的工作方式:

enter image description here

0 个答案:

没有答案