-1

このコードを修正するのに苦労しました。

UIGestureRecognizer *tapGest = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)];
tapIt = (UITapGestureRecognizer *)tapGest;
[tapIt setNumberOfTapsRequired:2];
[tapIt setNumberOfTouchesRequired:1];
tapIt.delegate = self;
[pc1 addGestureRecognizer:tapIt];

それ(画像)を別の角度、たとえば0、90、180、360度に回転させたい。何を追加する必要がありますか?

4

2 に答える 2

1

これはタップ認識機能であるため、特定のビューをタップ (この場合はダブルタップ) するたびに「tapped:」メソッドが呼び出されます。

したがって、tapped: メソッド内で、次のように回転変換を適用してビューの回転を変更します。

- (void)tapped:(UIGestureRecognizer *)gesture {
    // Rotate the view that was tapped to 90 degrees (pi/4)
    UIView *tappedView = [gesture view];
    [tappedView setTransform:CGAffineTransformMakeRotation(M_PI_4)];
}

ビューを別の角度に回転するには、変換の角度引数を変更します。


ビューがタップされるたびに 90 度を追加する場合は、ビューの既存の変換を回転させてから、次のように再度設定することでこれを行うことができます。

CGAffineTransform newTransform = CGAffineTransformRotate([tappedView transform], M_PI_4);
[tappedView setTransform:newTransform];
于 2012-07-17T14:47:41.967 に答える
1

クラスを使用し、このクラスUIImageViewのプロパティを適切に設定し、 anyに をimage追加してください。次に、次の方法を使用してをローテーションする機会があります。UIImageViewUIViewControllerUIImageView

_imageView.transform = CGAffineTransformMakeRotation(_angle);

(ラジアン単位であることを忘れないでください)_angle

コードの残りの部分を (パラメータを取得する場所と時期から_angle) 作成する必要があります。

于 2012-07-17T14:48:16.007 に答える