Ich habe eine CollectionView
, die Zelle in CollectionView
hat Größe gleich dem Bildschirm (CollectionView
hat Paging-Modus aktivieren).Lang drücken, um Bilder anzuzeigen
Ich möchte lange auf dem Bildschirm drücken, dann wird die CollectionView
zur nächsten Zelle scrollen.
Zum Beispiel:
Ich brauche 1 Sekunde CollectionView
blättert zur nächsten Zelle zu machen, und ich drücke für 2,5 Sekunden.
Die Anfangszeit: Ich fange an, lange auf den Bildschirm zu drücken, und die Sammlungsansicht befindet sich jetzt auf der ersten Zelle.
Nach der ersten Sekunde: Es wird in die zweite Zelle scrollen.
Nach der zweiten Sekunde: Es wird bis zur dritten Zelle scrollen.
Die letzte halbe Sekunde: Sie steht immer noch auf der dritten Zelle (weil eine halbe Sekunde nicht genug Zeit ist, um die Sammelansicht zur nächsten Zelle zu scrollen).
Ich habe die UILongPressGestureRecognizer
in die Zelle gegeben und ich habe wie diese versucht:
func handleLongPress(longGesture: UILongPressGestureRecognizer) {
if longGesture.state == .Ended {
let p = longGesture.locationInView(self.collectionView)
let indexPath = self.collectionView.indexPathForItemAtPoint(p)
if let indexPath = indexPath {
let row = indexPath.row + 1
let section = indexPath.section
if row < self.photoData.count {
self.collectionView.selectItemAtIndexPath(NSIndexPath(forRow: row, inSection: section), animated: true, scrollPosition: .Right)
}
print(indexPath.row)
} else {
print("Could not find index path")
}
}
}
Aber ich habe immer zu END die lange Geste die Sammlung Ansicht zu machen.
Ich habe dieses Problem gelöst, Sie können meine eigene Antwort überprüfen. Übrigens, deine Antwort ist gut. +1 – Khuong