UICollectionView 在滚动时响应?
Posted
技术标签:
【中文标题】UICollectionView 在滚动时响应?【英文标题】:UICollectionView responding while being scrolled? 【发布时间】:2013-03-08 10:49:15 【问题描述】:我有一个 UICollectionView 填充了一些单元格,我实现了方法 - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
这就像一个魅力,但它在滚动时不起作用。这是一个问题,因为滚动非常敏感,因此当我打算推送一个单元格并调用该方法时,我最终滚动没有结果。
所以我想知道如何解决这个问题并想出了这个:
我可以简单地将方法设置为在滚动时响应吗? 如果不是 - 我可以简单地让它只有在您使用 2 个手指时才会发生滚动?将 2 个动作分开。提前感谢
【问题讨论】:
【参考方案1】:UICollectionViewCell
的选择发生在您点击它时。水龙头应该很短并且在一个地方。如果你滚动,你可能没有点击右。如果是这种情况,在使用 Mail 等内置应用程序时也会发生这种情况。
UICollectionView
使用UITapGestureRecognizer
来识别单元格的选择。此手势识别器不允许在这种情况下可能对您有所帮助的特定设置。
您也许可以将 UIPanGestureRecognizer
更改为需要 2 个手指,但您应该真正考虑一下是否是您想要的。你最好按照 Apple 的意思来使用它,用户已经习惯了。
也就是说,这里是关于集合视图手势支持的文档页面: http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/CollectionViewPGforIOS/IncorporatingGestureSupport/IncorporatingGestureSupport.html
您可以使用它来更改内部使用的UIPanGestureRecognizer
的minimumNumberOfTouches
属性。但同样,我认为你不应该这样做。
【讨论】:
以上是关于UICollectionView 在滚动时响应?的主要内容,如果未能解决你的问题,请参考以下文章
UICollectionView:激活、滚动到并将第一响应者分配到远处的单元格
滚动 UICollectionView 时忽略嵌入式 UIButtons 的触摸事件
为啥 UICollectionView 不滚动其中的 UIButtons?