获取触摸位置滚动视图
Posted
技术标签:
【中文标题】获取触摸位置滚动视图【英文标题】:get touch location scrollView 【发布时间】:2012-06-15 15:32:11 【问题描述】:我需要获取触摸位置,并且我创建了一个获取它的方法.. 但是当我在 ScrollView 中触摸时,该方法不返回位置,只返回 scrollView。
这是代码:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
UITouch *touch = [[event allTouches] anyObject];
CGPoint pos = [touch locationInView:nil];
NSLog(@"Position of touch: %.0f, %.0f", pos.x, pos.y);
有人知道怎么做吗? 谢谢!
【问题讨论】:
你能描述一下这个方法属于什么对象吗?它是您添加到滚动视图(或滚动视图的超级视图)的自定义手势识别器吗?还是自定义滚动视图? is a custom scrollview, where will have same images.. when the use touch the image, I wanna know the touch
s 位置。
【参考方案1】:
CGPoint pos = [touch locationInView:nil];
您正在检索相对于窗口原点的触摸坐标。根据documentation:
查看
您希望触摸的视图对象在其坐标系中 位于。处理触摸的自定义视图可以将 self 指定为 在自己的坐标系中获取触摸位置。 通过
nil
获取 窗口坐标中的触摸位置。
要获取滚动视图中的坐标,您需要传递self
:
CGPoint pos = [touch locationInView:self];
【讨论】:
以上是关于获取触摸位置滚动视图的主要内容,如果未能解决你的问题,请参考以下文章
TapgestureRecognizer 将触摸检测为滚动视图
(iphone) uiscrollview 触摸。取消内容触摸并开始滚动