微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

取消尾随滑动动作时如何添加动作Swift 5

如何解决取消尾随滑动动作时如何添加动作Swift 5

在我的项目中,我使用了TrailingSwipeActionsConfigurationForRowAt函数。而且我还可以在需要时使用selectRow函数。如果选择了我的单元格并在其上滑动,然后取消了它(从左向右滑动),则不会再次选择该单元格。我在哪里可以修复(再次使用selectRow)?

func tableView(_ tableView: UITableView,trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
        let deleteAction = UIContextualAction(style: .destructive,title: "") { [weak self] (contextualAction,view,boolValue) in
            guard let self = self else { return }
            self.deleteRow(at: indexPath)
        }
        deleteAction.image = UIImage(systemName: "trash")
        
        let swipeActions = UISwipeActionsConfiguration(actions: [deleteAction])
        
        return swipeActions
    }

解决方法

您可以使用:

func tableView(_ tableView: UITableView,didEndEditingRowAt indexPath: IndexPath?) {
  //Get the cell's indexPath (be aware of the optional argument and threat it the way you want)
  let cell = tableView.cellForRow(at: indexPath!)
  //Use the cell to the changes you need
}

如果你想达到流畅的效果,你也可以使用动画。

,

您没有调用完成处理程序。根据API文档,有必要调用完成处理程序以指示操作是否成功。

func tableView(_ tableView: UITableView,trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
            let deleteAction = UIContextualAction(style: .destructive,title: "") { _,_,complete in
                // remove object from your array..
                self.arrayName.remove(at: indexPath.row)
                //reload the table to avoid index out of bounds crash..
                self.tableView.deleteRows(at: [indexPath],with: .automatic)
                complete(true)
            }
            
            deleteAction.image = UIImage(named: "trash")
            let configuration = UISwipeActionsConfiguration(actions: [deleteAction])
            configuration.performsFirstActionWithFullSwipe = true
            return configuration
 }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。