ios - 在滚动发生时获取 UIScrollView 翻译?

标签 ios objective-c uiscrollview uipangesturerecognizer

我试图在滚动发生时从 UIScrollView.panGestureRecognizer 拦截 locationInView。

我能够获得初始触摸坐标(当滚动开始时)在委托(delegate)方法中实现以下代码

#pragma mark UIScrollViewDelegate
- (void) scrollViewWillBeginDragging:(UIScrollView *)scrollView {
CGPoint point = [scrollView.panGestureRecognizer locationInView:scrollView];
NSLog(@"%@", NSStringFromCGPoint(point));}

有没有办法在滚动发生时连续获取坐标?我知道 scrollView.panGestureRecognizer 是 UIScrollView 对象的 UIPanGestureRecognizer @property,所​​以在某处应该有一个 panGestureDetected @selector。

提前谢谢.... e

最佳答案

添加 UIScrollViewDelegate 方法:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

在那里您可以在滚动时访问scrollView。如果您不使用子类 UIScrollView 的 View ,请确保显式实现 UIScrollViewDelegate。我认为您不必这样做,因为正在调用您问题中的委托(delegate)方法,但我只是想我会指出这一点。

确定你真的想使用 locationInView:方法,因为它将返回手势点而不是 contentOffset UIScrollView 的。换句话说,手势点可能在所需范围之外,其中contentOffset与 UIScrollView 对象直接相关。

编辑:

仅供引用,该方法将被多次调用,因此请确保您在每次调用该方法时都没有进行任何繁重的处理。

关于ios - 在滚动发生时获取 UIScrollView 翻译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22704143/

相关文章:

objective-c - Objective-C 或 C 中的线性回归

ios - UIView 与 UITableviewcontroller Swift 顶部的标签

ios - 当我重新加载表格 View 时,来自调试器 : Terminated due to memory issue, 的消息

iphone - 限制父 View 内的 View

objective-c - 如何以编程方式将 iPad 应用程序锁定为一个应用程序?

ios - 为什么没有记录约束标识符?

iOS:滚动表格 View 时隐藏和显示自定义导航栏

ios - 播放网络文件夹中的视频文件

ios - NSMutableArray的初始化

objective-c - TouchJSON,处理NSNull