У меня есть CollectionView
, ячейка в CollectionView
имеет размер, равный экрану (CollectionView
имеет режим разрешающей пейджинговой связи).Длительное нажатие для показа слайдов
Я хочу нажать долго на экране, затем CollectionView
прокрутится до следующей ячейки.
Например:
мне нужно 1 секунду, чтобы сделать CollectionView
свиток к следующей ячейке, и нажатии на 2,5 секунды.
Начало: Я начинаю долгое нажатие на экране, и теперь коллекция открывается в первой ячейке.
После первой секунды: он перейдет во вторую ячейку.
После второй секунды: он будет прокручиваться до третьей ячейки.
Последняя половина секунды: она все еще стоит на третьей ячейке (потому что половина секунды не хватает времени, чтобы сделать просмотр коллекции прокруткой до следующей ячейки).
Я добавил UILongPressGestureRecognizer
в клетку, и я попытался так:
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")
}
}
}
Но я всегда должен КОНЦА длинный жест, чтобы сделать вид коллекции свиток.
Я решил эту проблему, вы можете проверить мой собственный ответ. Кстати, ваш ответ хорош. +1 – Khuong