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

标签 iphone ios uigesturerecognizer

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

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

这是教程的链接

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

UIPinchGestureRecognizer 和 UIRotationGestureRecognizer 是我所指的部分。

最佳答案

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

代码首先根据识别器比例创建一个新的转换并将其分配给您的 View 。 之后它将比例重置为 1。

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

关于iphone - 为什么我们必须将手势识别器的旋转/缩放设置回0/1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9463678/

相关文章:

iPhone 照片裁剪

iphone - 在不减慢 xcode 的情况下在 iPhone 应用程序中包含许多图像

ios - Swift 中的 "[self] in"和 "[weak self] in"有什么区别?

swift - 如何将 UItapGesture 识别器指定为按钮的 CGpoint

ios - 未调用手势识别器

iphone - View Controller IOS 在 View 之间切换

iphone - 段控制背景色

ios - 为什么使用自动布局时 View 的框架宽度始终为 600 x 600

ios - 真实 iOS 设备上的 flutter 错误 : "module ' fluttertoast' not found"

ios - 在没有 UILongPressGestureRecognizer 的情况下快速识别长按