我没有足够的谷歌,&我在发布之前在stackoverflow中检查了这些文章(Finding the direction of scrolling in a UIScrollView?)。我有一个iPhone应用程序中的动态照片数量,通过UIScrollView
显示。在任何时候,我只有3张照片显示在滚动视图中。当我有,说4张,总数: 1日的照片:显示在偏移0.0 第2张照片:在偏移320.0 3日的照片显示:显示在偏移640.0在scrollViewWillBeginDragging中检测UIScrollView的滚动方向
现在,当用户滚动到第4的照片,滚动视图重置为0.0偏移量。如果用户试图滚动'超出'第4张照片,滚动只应停止在正确的方向(以便用户不滚动'超出')。但目前,用户'能够'滚动到最后一张照片之外;但是,我通过编程检测到&重置了偏移量。但它看起来并不整齐,因为用户会立即看到黑色背景。我想检测用户是否已经开始滚动'right'(记住,滚动'left',即'previous'photo okir)在scrollViewWillBeginDragging
中,这样我就可以停止向右滚动。
我想什么:(!)
- 使用
self.scrollView.panGestureRecognizer
的translationInView
工作不尽力,因为首先没有返回panGestureRecognizer
例如, 虽然UIScrollView的API声称如此。 - 检测到
scrollViewDidEndDecelerating
是可能的,但 它不符合我的目的。
你能否详细说明反弹lastContentOffset – Daniel
@Daniel您需要保存“最后内容偏移”,这是从上一次这种方法被称为先前contentOffset。我不知道吉恩为什么忘了它。只需在顶部添加lastContentOffset作为静态变量,然后将其设置在方法的末尾。 –