首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >处理在未附加手势的区域开始但在附加了手势的视图中平移的UIPanGesture

处理在未附加手势的区域开始但在附加了手势的视图中平移的UIPanGesture
EN

Stack Overflow用户
提问于 2014-02-20 18:31:08
回答 1查看 103关注 0票数 0

我想这张图片会描述这个问题:

黄色视图具有附加的平移手势。

触摸是在红色区域启动的

手指被拖入黄色区域-但未启动平移手势

红色区域没有附加平移手势。

黄色区域附加了一个平移手势

绿色区域附加了一个平移手势

当用户开始向下拖动手指时-最终它将进入手势识别器所连接的区域(黄色)。

但因为触摸不是在黄色区域启动的-摇摄手势永远不会启动。

这个问题的解决方案是什么--不让黄色区域变大(即使是清晰的也不是一个好的选择,因为我不想让视图重叠)

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-02-20 19:04:58

我认为在这种情况下,最好的选择是将平移手势识别器添加到超级视图中,然后在平移处理方法中使用:

代码语言:javascript
运行
复制
CGPoint panLocation = [recogniser locationInView:superView];

然后用下面这样的命令检查它在哪里:

代码语言:javascript
运行
复制
if (recogniser.state == UIGestureRecogniserStateMoved) {
    if (CGRectContainsPoint(yellowView.frame, panLocation)) {
        // Do something
    } else if (CGRectContainsPoint(greenView.frame, panLocation)) {
        // Do something else
    }
}

希望这能有所帮助:)

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

https://stackoverflow.com/questions/21905035

复制
相关文章

相似问题

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