如何检测scrollView滚动方向?

use*_*169 1 objective-c uitableview uiscrollview ios

我有一个UIScrollView内部我有一个UITableView滚动视图应该水平滚动.- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView当滚动视图结束其水平滚动时,我已经实现了一些任务.但我的问题是,即使UITableView垂直滚动也停止,这个代表也会触发.那么如何才能检测到scrollview该委托中的水平滚动?

请帮帮我,谢谢

小智 12

检查这些委托方法

CGPoint _lastContentOffset;

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
  _lastContentOffset = scrollView.contentOffset;
}

  - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {

    if (_lastContentOffset.x < (int)scrollView.contentOffset.x) {
      NSLog(@"Scrolled Right");
    }
    else if (_lastContentOffset.x > (int)scrollView.contentOffset.x) {
      NSLog(@"Scrolled Left");
    }

    else if (_lastContentOffset.y < scrollView.contentOffset.y) {
      NSLog(@"Scrolled Down");
    }

    else if (_lastContentOffset.y > scrollView.contentOffset.y) {
      NSLog(@"Scrolled Up");
    }
}
Run Code Online (Sandbox Code Playgroud)