Проскроливать до заданной ячейки научился.
А вот сделать правильно анимацию не получается пока.
То есть если пользователь открывает Page View Controller например с 5 элемента из массива Collection View, потом пролистывает N страниц и N при этом не больше чем диапазон отображенных на экране ячеек в момент перехода на Page View Controller то анимация при возврате работает, а если N выходит за диапазон уже отображенных ячеек то анимация не срабатывает. При этом Collection View проматывается до нужного элемента по прежнему.
Я думаю что дело в том что ячейки dequeueReusableCell - в смысле что они переиспользуются. Помогите пожалуйста настроить анимацию.
override func viewDidAppear(_ animated: Bool) {
let numberCell = userDefaults.integer(forKey: "pageNumber") // получили индекс ячейки из Page View Controller
let indexPath = IndexPath(item: numberCell, section: 0)
collectionView?.scrollToItem(at: indexPath, at: UICollectionViewScrollPosition.centeredVertically, animated: true) //сработал скрол
let cell = collectionView?.cellForItem(at: indexPath)
UIView.animate(withDuration: 1, delay: 0.2, usingSpringWithDamping: 1, initialSpringVelocity: 0.3, options: .curveEaseInOut, animations: {
cell?.transform = CGAffineTransform(scaleX: 1.15, y: 1.15)
}, completion: nil)
UIView.animate(withDuration: 1, delay: 0.8, usingSpringWithDamping: 1, initialSpringVelocity: 0.3, options: .curveEaseInOut, animations: {
cell?.transform = CGAffineTransform(scaleX: 1, y: 1)
}, completion: nil)
}