如何禁用 UICollectionView 的手势滑动

Posted

技术标签:

【中文标题】如何禁用 UICollectionView 的手势滑动【英文标题】:How to disable gesture swipe for UICollectionView 【发布时间】:2014-11-12 14:45:57 【问题描述】:

目前,我正在制作分页 UICollectionView。我想从 UICollectionView 禁用手势滑动效果,因为我要添加 UIPagerControl 来为分页 UICollectionView 设置动画。我不希望用户使用他们的手指移动到下一个屏幕而不是使用自定义 UIPageControl。

【问题讨论】:

【参考方案1】:

从 UIScrollView 继承的 UICollection 可以通过这种方式禁用用户的滚动:

myCollectionView.scrollEnabled = NO;

这是文档说明(UIScrollView class reference):

禁用滚动时,滚动视图不接受触摸 事件;它将它们转发到响应者链上。

使用 UIPageControl 时,您可以使用 UIScrollView 方法以编程方式设置 UICollectionView 中的位置:

- (void)setContentOffset:(CGPoint)contentOffset
                animated:(BOOL)animated

【讨论】:

以上是关于如何禁用 UICollectionView 的手势滑动的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用 UICollectionView 部分之间的单元格拖动?

在 UICollectionView 上禁用单元格重用

如何检测 UICollectionView 上的触摸?

如何捕捉 UICollectionView 上的手势?

在具有相同触摸的视图上切换手势

使用点击手势时如何获取 UICollectionView 标头的索引路径?