为什么我们必须将手势识别器的旋转/比例设置回0/1?

时间:2012-02-27 10:46:11

标签: iphone ios uigesturerecognizer

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

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

这是教程的链接

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

UIPinchGestureRecognizer和UIRotationGestureRecognizer 是我所指的部分。

1 个答案:

答案 0 :(得分:1)

- (IBAction)handlePinch:(UIPinchGestureRecognizer *)recognizer {    
    recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
    recognizer.scale = 1;    
}

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

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