У меня есть горизонтальное представление коллекции, работающее как пейджер из 4 экранов / шагов. Я отключил горизонтальную прокрутку как способ выполнения следующего действия только с плавающей кнопки:
let nextItem = self.selectedIndexPath.item + 1
self.scrollToStep(index: IndexPath(item: nextItem, section: 0))
func scrollToStep(index: IndexPath){
selectedIndexPath = index
collectionView.scrollToItem(at: index, at: .centeredHorizontally, animated: true)
}
Во второй раз, когда я нажимаю кнопку, приложение вылетает.
] * Завершение приложения из-за необработанного исключения
NSInvalidArgumentException, причина: попытка прокрутки до недействительного
Путь индекса: {длина = 2, путь = 0 - 4} '
* Стек первого вызова вызова: (0 CoreFoundation 0x00000001088dd6fb __exceptionPreprocess + 331 1 libobjc.A.dylib
0x0000000107e81ac5 objc_exception_throw + 48 2 CoreFoundation
0x00000001088dd555 + [Повышение NSException: формат:] + 197 3 UIKitCore
0x000000010b79ef93 - [UICollectionView
_contentOffsetForScrollingToItemAtIndexPath: atScrollPosition:] + 212 4 UIKitCore 0x000000010b79f86b
- [UICollectionView _scrollToItemAtIndexPath: atScrollPosition: animated:] + 70 5 0x0000000105238770
$ s14 18ViewControllerC12scrollToStep5indexy10Foundation9IndexPathV_tF
+ 480 6 0x00000001052358b5 $ s1 ar 010collectionF0_13cellForItemAtSo012UICollectionF4CellCSo0mF0C_10Foundation9IndexPathVtFySbcfU_
+ 1701