我想双击UICollectionViewCell,就像 OkCupid App 一样喜欢这个配置文件。我在Collection View上应用了Tap Gesture,但它不起作用。
每次didSelectCollectionViewCell
方法调用时,我都会尝试双击该单元格。
答案 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 ... ..