旋转后平移手势行为不正确

Posted

技术标签:

【中文标题】旋转后平移手势行为不正确【英文标题】:pan gesture after rotation behaves incorrect 【发布时间】:2012-09-21 07:21:24 【问题描述】:

我有类似以下链接的问题

Why I use "pan" after rotae will make view go opposite way?

但是,这个链接也没有解决我的问题。 我对同一个 UIImage 使用平移、捏合和旋转手势。当我旋转该图像并执行平移时,它会随机平移(有时它与平移方向相反。我还将锚点设置为(0.5,0.5))。但是,如果我只使用平移(即在旋转之前),它将按预期表现良好。 我该如何解决这个问题?

【问题讨论】:

好问题,很遗憾我也遇到了同样的问题。你有什么解决办法吗? 还没有。即使我尝试通过触摸移动进行平移,但在同一图像上使用旋转手势后它的行为仍然不正确。 好的,如果我找到解决方案,我会在这里发布。所以我把这个问题当成最喜欢的,所以我会找到它。 【参考方案1】:

终于解决了这个问题...您只需将下面的代码CGPoint translation = [gesture translationInView:gesture.view];更改为 UIPanGestureRecognizer 方法中的CGPoint translation = [gesture translationInView:[gesture.view superview]];

或点击以下链接 http://cs354dory.wordpress.com/code-examples/pinch-pan-and-rotate/

【讨论】:

和我的代码效果一样 :) 我也检查了你的代码。很好,最后我们都找到了解决方案:) wowowowowowowowowowowowowowowowowowowowow 谢谢 UUUuuuuuuuUUUUu !!!!!!!!!!!!!!!我有同样的问题很长一段时间。我的压力达到了高潮......!你的天使!!!!谢谢【参考方案2】:

我也解决了。

只需将这两行代码放入旋转函数中即可。

gestureRecognizer.view.transform = CGAffineTransformRotate(gestureRecognizer.view.transform, gestureRecognizer.rotation);
gestureRecognizer.rotation = 0;

【讨论】:

以上是关于旋转后平移手势行为不正确的主要内容,如果未能解决你的问题,请参考以下文章

使用平移、旋转和捏合手势编辑后如何保存 UIImage

带有平移、旋转和捏合手势的 UIKit Dynamics

如何根据平移手势速度向 Sprite Kit 节点应用角脉冲

中心控制器具有滚动视图时的 MMDrawerController 平移手势行为

防止自定义 UITableViewCells 中的多个平移手势

使用平移手势,单次触摸后忽略触摸?