【发布时间】:2019-06-13 08:01:34
【问题描述】:
我有一个 UICollectionView 包含很多单元格。
我实现了两个功能:
- 单击一个单元格:推送一个视图。
- 双击一个单元格:按 B 视图。
问题来了:
如果我同时点击两个(或更多)单元格,它只会推送 1 一个视图。在这种情况下没问题。
但是,如果我同时双击两个单元格(或更多),它会一个一个地推动 2 个(或更多) B 视图。这会导致意外行为,并且应用有时会崩溃。
当有超过 2 个单元格被点击时,如何禁用其他单元格接收双击,并且只允许推送“1 B 视图”?
我加了doubleTapGesture.numberOfTouchesRequired = 1,但是不行。
这是我的代码:
@objc private func didReceiveDoubleTap(_ sender: ASCellNode) {
self.doubleTapDelegate?.myCellWasDoubleTapped?(self)
}
override func didLoad() {
super.didLoad()
let doubleTapGesture = UITapGestureRecognizer(target: self, action: #selector(MyCollectionCell.didReceiveDoubleTap(_:)))
doubleTapGesture.numberOfTapsRequired = 2
doubleTapGesture.delaysTouchesBegan = true
self.view.addGestureRecognizer(doubleTapGesture)
}
【问题讨论】:
标签: swift uitapgesturerecognizer