У меня есть стандарт, работающий uicollectionview
, и моя проблема заключается в том, что при прокрутке по вертикали uicollectionview
не реагирует на любое последующее касание (то есть, останавливает прокрутку) до тех пор, пока прокрутка не остановится полностью.
Мне удалось зафиксировать проблему до метода делегата willDisplayCell
, где я анимирую каждую отображаемую ячейку с помощью пузырькового эффекта. Мне любопытно, есть ли что-то в этом, что я могу посоветовать, где я смогу сохранить анимацию при соответствующей реакции на прикосновения?
Когда я полностью закомментирую метод делегата, отклик на касание и прокрутка работают отлично.
Вот мой код в методе делегата willDisplayCell
:
func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
cell.transform = CGAffineTransform(scaleX: 0.01, y: 0.01)
DispatchQueue.main.async {
let delay = 0.035
UIView.animate(withDuration: 1, delay: delay, usingSpringWithDamping: 0.75, initialSpringVelocity: 0.8, options: .curveEaseOut, animations: {
cell.transform = CGAffineTransform(scaleX: 1, y: 1)
self.view.layoutIfNeeded()
}, completion: nil)
}
}