Пара лет go Я написал рабочий код, который анимирует смещение содержимого UICollectionView, когда пользователь нажимает кнопку. Анимация прекрасно работает во всех iOS версиях вплоть до iOS 13. В iOS 13 анимация смещения контента разрушается, и это создает странный эффект, который сочетает в себе движение и постепенное появление.
iOS 12,4
iOS 13,3
Вот мой код.
var topInset: CGFloat! // set elsewhere
func animateCollectionView(_ scrollView: UIScrollView) {
if #available(iOS 11.0, *) {} else {
scrollView.setContentOffset(scrollView.contentOffset, animated: false)
}
UIView.animate(withDuration: 1, delay: 0, options: .curveEaseIn, animations: {
scrollView.contentInset = UIEdgeInsets(top: topInset, left: 0, bottom: 0, right: 0)
})
}
Я пытался найти решение целую вечность, но, кажется, ничто не делает его для iOS 13. Есть идеи?