强制UICollectionView停止滚动

Pét*_*son 15 objective-c ios uicollectionview

用户执行快速滑动手势以使UICollectionView开始滚动(它将逐渐停止).

如何以编程方式强制滚动立即停止?为了澄清,我想允许减速,但我需要能够在代码中停止它.

lia*_*ols 31

你试过以下吗?

[self.collectionView setContentOffset:self.collectionView.contentOffset animated:NO];
Run Code Online (Sandbox Code Playgroud)

contentOffset随着collectionView滚动(甚至通过动画),属性不断更新,所以在调用上面的时候,它应该强制使用collectionView来停止它现有的动画.

  • 不起作用,需要更改y或x值.我使用它并且它可以工作:`CGPoint offset = self.collectionView.contentOffset; (self.collectionView.contentOffset.y> 0)?offset.y--:offset.y ++; [self.collectionView setContentOffset:offset animated:NO];` (2认同)

hai*_*ina 31

试试这个吧.为我工作.:)

self.collectionView.scrollEnabled = NO;
Run Code Online (Sandbox Code Playgroud)


小智 8

对于Swift 3:

collectionView.isScrollEnabled = false
Run Code Online (Sandbox Code Playgroud)


小智 6

如果您将pagingEnabledscrollEnabled属性设置为true比这应该有效:

self.collectionView.scrollEnabled = false
self.collectionView.pagingEnabled = false
Run Code Online (Sandbox Code Playgroud)