旋转后平移手势行为不正确
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;
【讨论】:
以上是关于旋转后平移手势行为不正确的主要内容,如果未能解决你的问题,请参考以下文章
如何根据平移手势速度向 Sprite Kit 节点应用角脉冲
中心控制器具有滚动视图时的 MMDrawerController 平移手势行为