2016-01-22 1 views

ответ

1

у вас есть UITapGestureRecognizer Недвижимость numberOfTapsRequired: до 2?

4

Вы должны добавить распознаватель жестов двойного касания к представлению коллекции, а не к ячейке. В его селектором действий можно определить, какая ячейка была дважды постучала

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

Приведенный выше код дает ошибку не может вызвать значение типа без функции "UICollectionView! –

+0

звучит как ошибка в вашем представлении коллекции check your collectionview –

+0

Эти методы выше не существуют, пожалуйста, предоставьте действительный компилируемый код при ответе, чтобы не путать других начинающих разработчиков. –

-1

применять UITapGesture на UICollectionviewcell вместо UIcollectionView и ручка выбора в пользовательской UICollectionViewCell и установите свойство numberofTapsRequired равно 2 .. ...

2

Ошибка, которую вы получили: не может вызывать значение нефункционного типа 'UICollectionView!' потому что вы пытаетесь использовать неправильный метод.

Пожалуйста, попробуйте использовать этот один:

var selectedIndexPath: NSIndexPath = self.collectionView.indexPathForItemAtPoint(pointInCollectionView) 
+0

Спасибо за помощь –

+0

действительно гений .... –