为啥我们必须将手势识别器的旋转/缩放设置回 0/1?

Posted

技术标签:

【中文标题】为啥我们必须将手势识别器的旋转/缩放设置回 0/1?【英文标题】:Why do we have to set the rotation/scale of gesture recognizer back to 0/1?为什么我们必须将手势识别器的旋转/缩放设置回 0/1? 【发布时间】:2012-02-27 10:46:11 【问题描述】:

我在代码中使用旋转手势旋转图像时遇到问题。在 SO 上花了一些时间后,我获得了 Ray Wenderlich 的 UIGestureRecognizers 教程的链接。

最初我的视图在相应的手势上旋转和缩放非常快,这个链接有一个很好的教程来正确使用它们。但是我不明白为什么将旋转和缩放设置为正常值 0 和 1 分别解决了这个问题。

这是教程的链接

http://www.raywenderlich.com/6567/uigesturerecognizer-tutorial-in-ios-5-pinches-pans-and-more

UIPinchGestureRecognizer 和 UIRotationGestureRecognizer 是我指的部分。

【问题讨论】:

【参考方案1】:
- (IBAction)handlePinch:(UIPinchGestureRecognizer *)recognizer     
    recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
    recognizer.scale = 1;    

代码首先从识别器比例创建一个新的变换并将其分配给您的视图。 之后,它将比例重置为 1。

这实际上是考虑每次从1开始缩放到视图。 与旋转类似,每次调用时,我们认为旋转度数从 0 开始。

【讨论】:

以上是关于为啥我们必须将手势识别器的旋转/缩放设置回 0/1?的主要内容,如果未能解决你的问题,请参考以下文章

特定手势的同时手势识别

UIImageView 手势(缩放、旋转)问题

转iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势) -- 不错不错

Android围绕动态枢轴旋转视图

android控件随手势旋转

ScrollView 的子视图上的旋转手势和它的捏缩放可以一起工作吗?