UICollectionView 是不是会滚动识别
Posted
技术标签:
【中文标题】UICollectionView 是不是会滚动识别【英文标题】:UICollectionView if will scroll recognizeUICollectionView 是否会滚动识别 【发布时间】:2014-04-07 16:30:34 【问题描述】:我需要一些帮助。
我有UIcollectionView
,我正在使用scrollToItemAtIndexPath:atScrollPosition:animated:
方法。我需要以某种方式识别集合视图是否会滚动到某个位置,或者是否需要position
上的项目并且不会滚动。
换句话说,如果滚动不会开始,滚动视图的委托方法将不会被调用。
感谢您的帮助
【问题讨论】:
你能显示一些代码吗 我是否理解正确,您想检查是否会调用滚动视图委托方法? 【参考方案1】:如何检查您感兴趣的 indexPath 是否在 [UICollectionView indexPathsForVisibleItems]
中?
您还可以使用layoutAttributesForItemAtIndexPath
获取单元格的确切框架以确定其是否部分显示。
【讨论】:
【参考方案2】:你可以使用
CGRect cellFrame = [collectionView.visibleCells.lastObject frame];
CGRect collectionViewVisibleRect = collectionView.bounds;
collectionViewVisibleRect.origin.y = collectionView.contentOffset.y;
if (CGRectContainsRect(collectionViewVisibleRect, cellFrame))
//no scroll
else
//scroll
这并没有考虑到您可能拥有的 contentInset。
【讨论】:
以上是关于UICollectionView 是不是会滚动识别的主要内容,如果未能解决你的问题,请参考以下文章
如何知道 UICollectionView 是不是会在 scrollToItemAtIndexPath: 被调用后实际滚动?
滚动 UICollectionView 会导致父 UIView 中的 UITableView 将 Collection View 推出 Frame