双击UICollectionViewCell上的手势?

时间:2016-01-22 04:48:16

标签: ios swift uicollectionviewcell uitapgesturerecognizer

我想双击UICollectionViewCell,就像 OkCupid App 一样喜欢这个配置文件。我在Collection View上应用了Tap Gesture,但它不起作用。

每次didSelectCollectionViewCell方法调用时,我都会尝试双击该单元格。

4 个答案:

答案 0 :(得分:3)

您必须将双击手势识别器添加到集合视图而不是单元格。在其动作选择器中,您可以确定哪个单元格被双击

override func viewDidLoad() {
     var doubleTapGesture: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "didDoubleTapCollectionView:")
     doubleTapGesture.numberOfTapsRequired = 2  // add double tap
     self.collectionView.addGestureRecognizer(doubleTapGesture)
}

func didDoubleTapCollectionView(gesture: UITapGestureRecognizer) {
     var pointInCollectionView: CGPoint = gesture.locationInView(self.collectionView)
     var selectedIndexPath: NSIndexPath = self.collectionView(forItemAtPoint: pointInCollectionView)
     var selectedCell: UICollectionViewCell = self.collectionView.cellForItemAtIndexPath(selectedIndexPath)
     // Rest code
}

答案 1 :(得分:3)

你得到的错误:无法调用非函数类型的值' UICollectionView!'是因为你试图使用错误的方法。

请尝试使用这个:

<TAG_ONE>
<TAG_TWO>Abc</TAG_TWO>
<TAG_THREE>Xyz</TAG_THREE>
</TAG_ONE>

答案 2 :(得分:1)

您是否已将UITapGestureRecognizer属性numberOfTapsRequired:设置为2?

答案 3 :(得分:-1)

UICollectionviewcell 上应用 UITapGesture ,而不是 UIcollectionView ,并在自定义UICollectionViewCell中处理选择,并将属性numberofTapsRequired设置为2 ... ..