【发布时间】:2019-07-23 22:22:16
【问题描述】:
我已经使用集合视图实现了一个水平菜单。在我选择了一个单元格并滚动浏览 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 意味着在我快速滑动的情况下我不能手动过早停止滚动,这是不希望的。我怎样才能做到这一点?谢谢你。任何帮助表示赞赏。
【问题讨论】:
标签: ios swift user-interface uicollectionview horizontal-scrolling