1

こんにちは、2 つの角度の間でイメージ アニメーションを必要とするアプリケーションを開発しています。

私は次のコードを使用しています。これは 0 ~ 90 のアニメーションのみを提供していますが、90 のアニメーションで画像を 0 にする必要もあります。

               [UIView animateWithDuration: 0.5f
                     delay: 0.0f
                   options: options
                animations: ^{
                   self.imageToMove.transform = CGAffineTransformRotate(imageToMove.transform, M_PI / 2);
                }
                completion: ^(BOOL finished) {
                   if (finished) {
                         // if flag still set, keep spinning with constant speed
                         [self spinWithOptions: UIViewAnimationOptionCurveLinear];
                      } 
                   }
                }];

助けてください....

4

1 に答える 1

1

「RADIANS」の値を変更して、これを試してください

    #define RADIANS(degrees) ((degrees * M_PI) / 180.0)

//- (void)startWobble 

-(IBAction)start:(id)sender

{

    itemView.transform = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(-1));

    [UIView animateWithDuration:0.15 delay:0.0 options:(UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse)

                     animations:^ {

                         itemView.transform = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(1));

                     }

                     completion:NULL

     ];

}

//- (void)stopWobble 

-(IBAction)end:(id)sender

{

    [UIView animateWithDuration:0.25

                          delay:0.0 

                        options:(UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionBeginFromCurrentState | UIViewAnimationOptionCurveLinear)

                     animations:^ {

                         itemView.transform = CGAffineTransformIdentity;

                     }

                     completion:NULL

     ];

}
于 2013-01-02T08:48:02.880 に答える