我使用SwipeCellKit为我的tableview做滑动动作。 我尝试对单元格的annexType进行向左滑动检查或松开,并且一切正常,但是在我按下检查后,tableview立即立即重新加载数据,而我看不到roollback动画检查按钮。所以我想问一下动画结束后如何调用重载数据。
我有这样的东西:
但是我想要这样的淡入淡出动画
我的代码:
override func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath, for orientation: SwipeActionsOrientation) -> [SwipeAction]? {
var action = super.tableView(tableView, editActionsForRowAt: indexPath, for: orientation) ?? []
guard orientation == .left else { return action }
let checkAction = SwipeAction(style: .destructive, title: nil) { action, indexPath in
self.completeItem(at: indexPath)
}
action.append(checkAction)
return action
}
private func completeItem(at indexPath: IndexPath){
if let item = itemArray?[indexPath.row]{
do{
try realm.write {
item.done = !item.done
}
}
catch{
print( error.localizedDescription)
}
}
tableView.reloadData()
}
答案 0 :(得分:0)
要在选择时隐藏操作,您需要为操作设置hidesWhenSelected属性。
checkAction.hidesWhenSelected = true
此外,该示例不会重新加载tableView。而是使用动画删除点。您需要手动延迟重新加载,直到隐藏动画完成。
有关属性,请参见第156行
有关动画,请参见第256-273行 https://github.com/SwipeCellKit/SwipeCellKit/blob/develop/Example/MailExample/MailTableViewController.swift