破坏性的UIContextualAction会产生不良的动画效果

时间:2018-12-17 16:19:36

标签: swift uitableview

在执行“清除清除”时,点击清除按钮会产生不良的动画效果。一直向左滑动会产生正常的动画。

func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
    let clearAction = UIContextualAction(style: .destructive, title: "Clear") { (action, view, completion) in
        self.items.remove(at: indexPath.row)
        self.tableView.deleteRows(at: [indexPath], with: .none)
        completion(true)
    }
    clearAction.backgroundColor = UIColor.clearGray
    let swipeConfiguration = UISwipeActionsConfiguration(actions: [clearAction])
    return swipeConfiguration
}

就好像删除是第二次开始一样。当我省略self.tableView.deleteRows(at: [indexPath], with: .none)时,动画是完美的,但是随后在添加或删除行时表格视图崩溃(行数与之前和之后的情况不匹配)。

慢动作:

Swipe to delete

0 个答案:

没有答案