use*_*854 4 uitableview swipe ios swift
我用来leadingSwipeActionsConfigurationForRowAt检测和处理滑动。但是,我需要能够检测用户何时开始滑动(但在完成之前)。问题是,如果我在滑动单元格时使用reloadData()或beginUpdates()/更新endUpdates()表格,它会将单元格重置到未滑动的位置(我不喜欢这种用户体验)。我希望能够延迟单元格/数据更新,直到滑动完成或取消。
尽管安德烈亚斯的答案绝对正确,但我找到了一种更简单的方法。显然,无论何时leadingSwipeActionsConfigurationForRowAt使用,只要开始滑动单元格就会被标记为正在编辑。这使我们能够在 上使用willBeginEditingRowAt和,而不必担心didEndEditingRowAtUITableViewUITableViewCell
var swipedRow: IndexPath? = nil
func tableView(_ tableView: UITableView, willBeginEditingRowAt indexPath: IndexPath) {
swipedRow = indexPath
}
func tableView(_ tableView: UITableView, didEndEditingRowAt indexPath: IndexPath?) {
swipedRow = nil
}
Run Code Online (Sandbox Code Playgroud)
然后你可以检查是否swipedRow == nil(另外,如果不是nil,你就会知道被刷的行的indexPath)
| 归档时间: |
|
| 查看次数: |
1266 次 |
| 最近记录: |