UIRotationGestureRecognizer
のために実装しようとしていUIImageView
ます。
UIRotationGestureRecognizer *rotateGesture = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotate:)];
[self.view addGestureRecognizer:rotateGesture];
そしてセレクターメソッドでは、私はこれをしていません
-(void)rotate:(UIRotationGestureRecognizer *)gesture
{
if ([gesture state] == UIGestureRecognizerStateBegan || [gesture state] == UIGestureRecognizerStateChanged) {
selectedImage.transform=CGAffineTransformRotate(selectedImage.transform, gesture.rotation);
[gesture setRotation:0];
}
}
上記のコードで、画像は回転しています。しかし、問題は、イメージセンターが変更されていることです。それで、画像の回転は少しぎこちなく見えます。
画像の最初の中心は次のとおりです(277,653)
。回転している間、値は増加し(365,659)
、その後、に戻り(277,653)
ます。
理由は何でしょうか?センターを修正する方法は?UIImageView
使用の中心で画像を回転させるにはどうすればよいUIRotationGestureRecognizer
ですか?