我试图在滚动发生时从 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/