0
私のtableViewのcommitメソッドは、ユーザーがスワイプして行を削除したときに呼び出されますが、editActionsForRowAtを使用してアクションの色/テキストをカスタマイズしようとすると、 。コミットと呼ばれます。ここではeditActionsForRowAtが存在する場合、tableViewのcommitメソッドが呼び出されなくなる
は、いくつかのコード上記のコード、その後のtableViewで
override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool
{
return true
}
override func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle
{
return .delete
}
override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath)
{
// delete code goes here
}
です。しかし、以下のメソッドを追加して背景色とテキストを変更しようとすると、呼び出されるのが止まります。
override func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]?
{
let delete = UITableViewRowAction(style: .destructive, title: "Remove") { (action, indexPath) in
}
delete.backgroundColor = UIColor.lightGray
return [delete]
}
なぜeditActionsForRowAtメソッドを追加すると、コミットメソッドが呼び出されなくなるのですか?