ios - 如何检测 UICollectionView 的滚动方向?

标签 ios objective-c uicollectionview uigesturerecognizer uipangesturerecognizer

我有一个 UICollectionView。我想检测滚动方向。我有两种不同的向下滚动和向上滚动的动画样式。所以我必须学习滚动方向。

CGPoint scrollVelocity = [self.collectionView.panGestureRecognizer
velocityInView:self.collectionView.superview];

if (scrollVelocity.y > 0.0f)   
NSLog(@"scroll up");

else if(scrollVelocity.y < 0.0f)    
NSLog(@"scroll down");

这只是指手画脚的工作。不适合我

最佳答案

试试这个:

将此添加到标题中的某处:

@property (nonatomic) CGFloat lastContentOffset;

然后覆盖scrollViewDidScroll:方法:

#pragma mark - UIScrollViewDelegate

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (self.lastContentOffset > scrollView.contentOffset.y)
    {
        NSLog(@"Scrolling Up");
    }
    else if (self.lastContentOffset < scrollView.contentOffset.y)
    {
        NSLog(@"Scrolling Down");
    }

    self.lastContentOffset = scrollView.contentOffset.y;
}

发现于 Finding the direction of scrolling in a UIScrollView?

关于ios - 如何检测 UICollectionView 的滚动方向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24480436/

相关文章:

ios - 保存带有动画 gif 的图像

ios - 如何在导航栏上放置一个栏按钮

ios - 手动将一个 View 推送到另一个 View (ObjC)

iphone - 调整 MPMediaPickerController View 的大小?

arrays - 如何使单元格索引 path.row == 数组中的项目索引?

ios - 如何使用这样的图像/图标/ View 来偏移组合布局

iphone - UICollectionView 内容在 reloadData 后被隐藏

ios - XCode7 beta2 和 iOS8.4 在设备上无法正常工作

ios - UIButton自定义字体问题

ios - NSPredicate 返回所有对象