У нас есть UICollectionView, который заполняет весь экран, чтобы имитировать полноэкранное слайд-шоу фотографий. Данные представления коллекции поддерживаются NSFetchedResultsController. В любой момент времени на экране отображается только одна ячейка коллекции. Существует также повторяемый NSTimer с интервалом в 5 секунд, который запускает метод «gotoNextPage», который вызывает scrollToItemAtIndexPath для следующего выбранного объекта (следующая ячейка UICollectionView, следующая фотография слайд-шоу). Это плавный переход вперед. Когда мы дойдем до конца слайд-шоу, мы хотели бы легко продвинуться вперед к первой фотографии и снова начать слайд-шоу. Конечно, когда мы прокручиваемToItemAtIndexPath обратно на первую фотографию, она быстро прокручивается назад (в зависимости от того, сколько у нас было извлеченных объектов). Мы хотим, чтобы передняя анимация была последовательной, независимо от того, находитесь ли вы в начале, середине или конце слайд-шоу/UICollectionView.Endless UICollectionView Слайд-шоу + scrollToItemAtIndexPath
У кого-нибудь есть творческий способ решить эту проблему?
Благодаря
Поэтому мне нужно прокрутить до элемента fetchedObjects.count (первый элемент fetchedObjects) в конце массива. Это означало бы, что метод делегирования разделов (NSUInteger)OfItemsInSection: (NSInteger) должен быть бесконечным, потому что мне нужен scrollToItemAtIndex для анимации вперед каждый раз, когда он достигает конца массива. Мне нужен индекс, который я прокручиваю, чтобы всегда быть (previousIndex + 1). Ключ здесь - анимация вперед по индексу одного. Как это всегда будет вперед с шагом в 1? Как индекс будет увеличиваться на 1 бесконечно до бесконечности? –
Да, вам нужно будет установить numberOfItemsInSection что-то большое - NSIntegerMax должен длиться несколько сотен лет, по 5 с на фотографию. И да, вы всегда будете прокручивать предыдущий индекс +1. Не должно быть никаких проблем с этим - повторное использование ячеек позволит избежать проблем с памятью из-за создания большего количества просмотров. Но у меня есть еще один вариант, который я добавлю к моему ответу. – pbasdf