我做了足够的谷歌,并且在发布之前我确实在stackoverflow中检查了这样的帖子(在UIScrollView中找到滚动的方向? )。我在 iPhone 应用程序中有动态数量的照片,通过UIScrollView
. 在任何时候,滚动视图中都只显示了 3 张照片。当我总共有 4 张照片时: 第一张照片:显示在偏移量 0.0 第二张照片:显示在偏移量 320.0 第三张照片:显示在偏移量 640.0
现在,当用户滚动到第四张照片时,滚动视图重置为 0.0 偏移量。如果用户试图滚动“超出”第 4 张照片,则滚动应该只在右侧停止(这样用户就不会滚动“超出”)。但目前,用户“能够”滚动到最后一张照片之外;但是,我以编程方式检测到这一点并重置偏移量。但它看起来并不整洁,因为用户会暂时看到黑色背景。我想检测到用户已经开始滚动“右”(记住,滚动“左”,即到“上一张”照片是可以的)scrollViewWillBeginDragging
,这样我就可以停止向右滚动。
我尝试了什么:
- 尝试使用
self.scrollView.panGestureRecognizer
'stranslationInView
不起作用,因为首先没有panGestureRecognizer
返回实例(!),尽管 UIScrollView API 声称如此。 - 检测到这一点
scrollViewDidEndDecelerating
是可能的,尽管它不符合我的目的。