非常に奇妙な問題があります。アプリケーションに UIRotationGestureRecognizer を実装して画像を回転させています。私の問題は、画像の回転を開始すると、別の指にジャンプすることがあるということです。例: 1 本の指で画像をドラッグしてから、2 番目の指で回転を開始しましたが、画像は 2 番目の指に移動します。それは正常ですか?それは修正できますか?私が使用しているコードは次のとおりです。
if([recognizer state] == UIGestureRecognizerStateEnded) {
prevRotation = 0.0;
return;
}
CGFloat newRotation = 0.0 - (prevRotation - [recognizer rotation]);
CGAffineTransform currentTransformation = image.transform;
CGAffineTransform newTransform = CGAffineTransformRotate(currentTransformation, newRotation);
image.transform = newTransform;
prevRotation = [recognizer rotation];
センターの最後の場所を保存して再度適用しようとしましたが、次のように機能しません。
lastPoint=image.center;
if([recognizer state] == UIGestureRecognizerStateEnded) {
prevRotation = 0.0;
return;
}
CGFloat newRotation = 0.0 - (prevRotation - [recognizer rotation]);
CGAffineTransform currentTransformation = image.transform;
CGAffineTransform newTransform = CGAffineTransformRotate(currentTransformation, newRotation);
image.transform = newTransform;
prevRotation = [recognizer rotation];
image.center=lastPoint;