func tableView(_ tableView: UITableView,
trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
// 創建一個 "移除" 操作
let removeAction = UIContextualAction(style: .normal, title: "移除") { (_, _, completionHandler) in
// 移除數據(這裡簡單地使用一個數組作為示例)
self.clockArray.remove(at: indexPath.row)
// 刪除行並添加刪除動畫
tableView.deleteRows(at: [indexPath], with: .automatic)
// 完成操作
completionHandler(true)
}
// 設定操作的背景顏色
removeAction.backgroundColor = UIColor.red
// 返回配置
return UISwipeActionsConfiguration(actions: [removeAction])
}
// 使用淡出效果刪除第 1 行(索引為 0)
tableView.deleteRows(at: [IndexPath(row: 0, section: 0)], with: .fade)
// 使用從右側滑出的效果刪除第 2 行(索引為 1)
tableView.deleteRows(at: [IndexPath(row: 1, section: 0)], with: .right)
// 使用從左側滑出的效果刪除第 3 行(索引為 2)
tableView.deleteRows(at: [IndexPath(row: 2, section: 0)], with: .left)
// 使用從頂部滑下的效果刪除第 4 行(索引為 3)
tableView.deleteRows(at: [IndexPath(row: 3, section: 0)], with: .top)
// 使用從底部滑上的效果刪除第 5 行(索引為 4)
tableView.deleteRows(at: [IndexPath(row: 4, section: 0)], with: .bottom)
這樣,你可以根據應用程式的需求選擇最適合的刪除動畫。
記得先從你的數據源中刪除相應的數據
,然後再呼叫 deleteRows(at:with:) 方法來更新 UI。