我希望我的tableView只对双击进行反应而完全没有对单击进行反应。我目前正在使用以下代码:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(singleTap))
tapGesture.numberOfTapsRequired = 1
view.addGestureRecognizer(tapGesture)
let doubleTapGesture = UITapGestureRecognizer()
doubleTapGesture.numberOfTapsRequired = 2
view.addGestureRecognizer(doubleTapGesture)
tapGesture.require(toFail: doubleTapGesture)
// implement what to do
if userInfo[indexPath.row].identifier == "username" {
editUsername()
}
}
func singleTap() {
// DO NOTHING
}
所以基本上我一直在尝试"重定向"单击一个无效的功能。但是,我发现(在模拟器中),tableView有时会对单击做出反应,有时则不然。任何有助于解决此问题的帮助都非常感谢!
答案 0 :(得分:0)
实现目标:
如果你想让单元格的索引路径被双击,你的手势识别器处理程序方法在tap.view中获取tap位置并使用tableView的indexPathForRowAtPoint方法:
let tapLocationPoint = tap.location(in: tap.view)
let tappedCellIndexPath = tableView.indexPathForRow(at: tapLocationPoint)