首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ios UIPanGestureRecognizer指针位置

ios UIPanGestureRecognizer指针位置
EN

Stack Overflow用户
提问于 2012-03-13 06:25:16
回答 3查看 21.8K关注 0票数 21
代码语言:javascript
复制
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];
[self addGestureRecognizer:panRecognizer];

- (void)pan:(UIPanGestureRecognizer *)gesture {
    NSLog(@"%f", [gesture translationInView:self].x);
}

上面的代码将记录我当前平移的相对位置,但是我如何才能获得我所在视图的绝对位置?

我只是想滑动一个UIImageView到用户手指所在的位置。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-13 06:30:29

translationInView提供平移平移(x的变化量),而不是平移在视图中的位置(x的值)。如果需要平移的位置,则必须使用locationInView方法。

您可以找到相对于视图的坐标,如下所示:

代码语言:javascript
复制
- (void)pan:(UIPanGestureRecognizer *)gesture {
    NSLog(@"%f", [gesture locationInView:self].x);
}

或者相对于superview:

代码语言:javascript
复制
- (void)pan:(UIPanGestureRecognizer *)gesture {
    NSLog(@"%f", [gesture locationInView:self.superview].x);
}

或者相对于窗口:

代码语言:javascript
复制
- (void)pan:(UIPanGestureRecognizer *)gesture {
    NSLog(@"%f", [gesture locationInView:self.window].x);
}
票数 35
EN

Stack Overflow用户

发布于 2017-01-20 13:04:52

Swift 5

使用返回CGPoint值的方法.location()。[documentation]

例如,手势相对于self.view的相对位置

代码语言:javascript
复制
let relativeLocation = gesture.location(self.view)
print(relativeLocation.x)
print(relativeLocation.y)
票数 2
EN

Stack Overflow用户

发布于 2012-03-13 06:40:55

我认为这样做的一个简单方法是获取触摸的x和y并跟踪它,一旦它有2个点(比如X:230 Y:122),就可以将UIScroll视图的滚动设置为x和y。

我不确定我是怎么得到这个答案的。如果没有帮助,请不要否定我,我仍然是一个菜鸟。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9675672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档