在storyboard
中,我创建了一个嵌入两个单独的UICollectionViewCell
的自定义UIViews
,它们分别嵌入了自己的UI元素集。
基于某种条件,我正在显示/隐藏嵌入式UIViews
。
我无法解决的问题是在显示的UIView
中触发多个触摸事件。例如,单击一个垃圾桶按钮时发生触摸事件,而单击周围的UIView
本身则发生另一个事件。
以下是我的UIViewController
中的相关代码段:
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath as IndexPath) as! ExampleCollectionViewCell
cell.FirstUIView.isHidden = true
cell.SecondUIView.isHidden = false
let tap = UIGestureRecognizer(target: self, action: #selector(onEdit))
tap.cancelsTouchesInView = false
cell.SecondUIView.addGestureRecognizer(tap)
cell.SecondUIView.isUserInteractionEnabled = true
cell.SecondUIViewTrashButton.addTarget(self, action: #selector(onDelete), for: .touchUpInside)
return cell
}
最佳答案
尝试使用UITapGestureRecognizer而不是UIGestureRecognizer。
关于ios - (快速)UICollectionViewCell带有手势识别器的嵌套 subview ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49390916/