我正在尝试在 uitableview 中实现“滑动删除”功能。我关注了其他教程/论坛和扩展的 UITableViewSource。在该类中,我重写了以下方法:
public override void CommitEditingStyle(UITableView tableView, UITableViewCellEditingStyle editingStyle, NSIndexPath indexPath)
{
if (editingStyle == UITableViewCellEditingStyle.Delete)
{
tableItems.RemoveAt(indexPath.Row);
tableView.DeleteRows(new [] { indexPath }, UITableViewRowAnimation.Fade);
}
}
public override UITableViewCellEditingStyle EditingStyleForRow(UITableView tableView, NSIndexPath indexPath)
{
return UITableViewCellEditingStyle.Delete;
}
public override bool CanEditRow(UITableView tableView, NSIndexPath indexPath)
{
return true;
}
我相信这些是我应该需要的唯一方法。但是,当我执行滑动手势时,会调用 CanEditRow 和 EditingStyleForRow 方法,但永远不会调用 CommitEditingStyle。任何帮助将非常感激。谢谢。