iOS 判断UIScrollView是上拉还是下拉

以collectionView为例

<UIScrollViewDelegate >
@property (nonatomic, assign) NSInteger lastcontentOffset; //添加此属性的作用,根据差值,判断ScrollView是上滑还是下拉
  self.collectionView.delegate = self;
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    CGFloat hight = scrollView.frame.size.height;
    CGFloat contentOffset = scrollView.contentOffset.y;
    CGFloat distanceFromBottom = scrollView.contentSize.height - contentOffset;
    CGFloat offset = contentOffset - self.lastcontentOffset;
    self.lastcontentOffset = contentOffset;

    if (offset > 0 && contentOffset > 0) {
       NSLog(@"上拉行为");
    }
    if (offset < 0 && distanceFromBottom > hight) {
        NSLog(@"下拉行为");
    }
    if (contentOffset == 0) {
        NSLog(@"滑动到顶部");
    }
    if (distanceFromBottom < hight) {
          NSLog(@"滑动到底部");
    }

}

你可能感兴趣的:(iOS)