Я реализовал горизонтальное меню, используя вид коллекции.В ситуации, когда я выбрал ячейку и прокручиваю через collectionView, я бы хотел, чтобы другие ячейки были недоступны для выбора до тех пор, пока не закончится прокрутка, сохраняя при этом состояние выбора ранее выбранной ячейки.Простая установка allowsSelection = false
отменяет выбор ранее выбранной ячейки.Я реализовал следующие методы обнаружения для завершения прокрутки:
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
if collectionView.isScrollEnabled {
isDragging = true
collectionView.isUserInteractionEnabled = false
}
}
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
if !decelerate {
collectionView.isUserInteractionEnabled = true
}
}
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
collectionView.isUserInteractionEnabled = true
}
Однако настройка isUserInteractionEnabled = false
означает, что я не могу вручную преждевременно остановить прокрутку в случае, если я сделал быстрое пролистывание, что не желательно.Как мне этого добиться?Спасибо.Любая помощь приветствуется.