gpt4 book ai didi

iphone - 在 scrollViewWillBeginDragging 中检测 UIScrollView 滚动的方向

转载 作者:IT王子 更新时间:2023-10-29 08:04:31 28 4
gpt4 key购买 nike

我在 google 上搜索得够多了,而且在发帖之前,我确实在 stackoverflow 中检查了像这样的帖子 ( Finding the direction of scrolling in a UIScrollView? )。我在 iPhone 应用程序中有动态数量的照片,这些照片通过 UIScrollView 显示。在任何时候, ScrollView 中只显示 3 张照片。当我总共有 4 张照片时:第一张照片:以偏移量 0.0 显示第二张照片:显示在偏移量 320.0第三张照片:显示在偏移量 640.0

现在,当用户滚动到第 4 张照片时, ScrollView 将重置为 0.0 偏移量。如果用户试图滚动“超出”第 4 张照片,则滚动应仅向右停止(这样用户就不会滚动“超出”)。但目前,用户“能够”滚动到最后一张照片之外;但是,我以编程方式检测到这一点并重置了偏移量。但它看起来并不整洁,因为用户会暂时看到黑色背景。我想检测用户是否已开始在 scrollViewWillBeginDragging 中“向右”滚动(记住,向“向左”滚动,即滚动到“上一张”照片是可以的),这样我就可以停止进一步滚动到对。

我尝试过的:

  1. 尝试使用 self.scrollView.panGestureRecognizertranslationInView 不起作用,因为没有panGestureRecognizer 实例首先返回(!),尽管 UIScrollView API 声称如此。
  2. 虽然可以在 scrollViewDidEndDecelerating 中检测到这一点它不会满足我的目的。

最佳答案

在检查 ScrollView 的 panGestureRecognizer 时,我在 scrollViewWillBeginDragging 中确定方向没有问题:

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
CGPoint translation = [scrollView.panGestureRecognizer translationInView:scrollView.superview];

if(translation.y > 0)
{
// react to dragging down
} else
{
// react to dragging up
}
}

我发现当用户向禁止的方向拖动时,在第一次拖动时取消滚动非常有用。

关于iphone - 在 scrollViewWillBeginDragging 中检测 UIScrollView 滚动的方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14042203/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com