这是我长期以来一直存在的问题。使用新的 iOS6 和自动布局,我的手势识别器“游戏”不再工作。
我使用情节提要创建了一个应用程序,其中一个选项卡上有一个小游戏应用程序,用户必须在 5 像素、5% 大小和 5 度范围内缩放、旋转和平移另一个图像之上的图像。我在使用自动布局时遇到的问题是,当旋转和缩放游戏图像时,图像会“跳”回到它的起始位置并且笨拙地旋转而不是围绕中心旋转。
我处理旋转和缩放手势的方法如下。
旋转
//rotation gesture recognizer response
- (void)respondToRotateGesture:(UIRotationGestureRecognizer *)gesture {
if (gesture.state == UIGestureRecognizerStateBegan || gesture.state == UIGestureRecognizerStateChanged) {
image.transform = CGAffineTransformRotate(gesture.view.transform, gesture.rotation);
}
if (gesture.state == UIGestureRecognizerStateEnded) [self didWin]; //not important for question
gesture.rotation = 0;
}
捏
//pinch gesture recognizer
- (void)respondToPinchGesture:(UIPinchGestureRecognizer *)gesture {
if (gesture.state == UIGestureRecognizerStateBegan || gesture.state == UIGestureRecognizerStateChanged) {
image.transform = CGAffineTransformScale(image.transform, gesture.scale, gesture.scale);
}
if (gesture.state == UIGestureRecognizerStateEnded) [self didWin]; //not important for question
gesture.scale = 1;
}
我确实意识到最简单的解决方案是关闭自动布局,但这会导致情节提要的其余部分出现问题,因为在情节提要中您不能为一个组件关闭自动布局,但您必须为整个情节提要关闭它。
谁能建议我该怎么做?我已经读到这是一个主要问题,有些人称它为新自动布局的“错误”。
我只是遇到了这个问题,我需要一些帮助
如果有人有任何建议或可以指出我正确的方向,将不胜感激。谢谢!
-亨利