用户执行快速滑动手势以使UICollectionView开始滚动(它将逐渐停止)。
如何以编程方式强制滚动立即停止? 为了澄清,我想允许减速,但我需要能够在代码中停止它。
答案 0 :(得分:29)
您是否尝试过以下操作?
[self.collectionView setContentOffset:self.collectionView.contentOffset animated:NO];
contentOffset
属性会随着collectionView滚动(甚至通过动画)不断更新,因此在调用上述内容时,它应该强制使用collectionView来停止其现有动画。
答案 1 :(得分:29)
试试这个。为我工作。 :)
self.collectionView.scrollEnabled = NO;
答案 2 :(得分:7)
对于Swift 3:
collectionView.isScrollEnabled = false
答案 3 :(得分:3)
如果您将pagingEnabled
和scrollEnabled
属性设置为true
,则应该有效:
self.collectionView.scrollEnabled = false
self.collectionView.pagingEnabled = false
答案 4 :(得分:1)
当用户放下collectionView时,采用以下scrollViewDelegate
方法来获取。
-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset;
然后,您可以创建自己的动画块,使用contentOffset
属性设置您认为最佳的速度/最终目的地。