0

回転を「検出」したいのですが、追跡するのではありません。ジェスチャの回転を時計回りまたは反時計回りに処理する必要があります。M_PI/8その後、画像をM_PI_2またはで回転させる必要があり-M_PI_2ます。

使用できUIRotationGestureRecognizerますか?

4

1 に答える 1

0

このコードは必要に応じて機能します。

- (IBAction)rorationDid:(UIRotationGestureRecognizer *)recognizer
{
    static CGFloat angle = 0;
    if (recognizer.state == UIGestureRecognizerStateBegan)
        angle = recognizer.rotation;
    if (recognizer.state != UIGestureRecognizerStateEnded)
        return;

    float rotation = 0;
    if (angle - recognizer.rotation > M_PI/8)
        rotation = -M_PI_2;
    if (angle - recognizer.rotation < -M_PI/8)
        rotation = M_PI_2;

    if (rotation != 0.0)
    {
        // Let's do rotation
    }
}

アップデート:

このコード:static CGFloat angle = 0;は実際には@propertynotである必要がありstaticます。

于 2012-09-29T09:05:48.793 に答える