シンプルな「歯車の回転アニメーション」を作ろうとしています。基本的には、画面の特定の位置に円を配置し、この円に歯車のイメージを与えます (または、最初に円を作成せずにイメージを回転させます)。また、ギアは回転し続ける必要があります。どうすればそれを達成できますか?
私はios開発の初心者です。誰かが簡単なサンプル コードを提供できる場合は、本当に感謝します!
シンプルな「歯車の回転アニメーション」を作ろうとしています。基本的には、画面の特定の位置に円を配置し、この円に歯車のイメージを与えます (または、最初に円を作成せずにイメージを回転させます)。また、ギアは回転し続ける必要があります。どうすればそれを達成できますか?
私はios開発の初心者です。誰かが簡単なサンプル コードを提供できる場合は、本当に感謝します!
UIImageView
実際に無限に回転させる必要があります。
まずは#import <QuartzCore/QuartzCore.h>
- (void) runSpinAnimationOnView:(UIView*)view duration:(CGFloat)duration rotations: (CGFloat)rotations repeat:(float)repeat;
{
CABasicAnimation* rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2.0 /* full rotation*/ * rotations * duration ];
rotationAnimation.duration = duration;
rotationAnimation.cumulative = YES;
rotationAnimation.repeatCount = repeat;
[view.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
}
があり、そのUIImageView
上に ImgView という名前のイメージを割り当てるとします。で、次のようにコードviewDidLoad
を追加します。
[UIView beginAnimations:nil context:nil];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationRepeatCount:MAXFLOAT];
ImgView.transform = CGAffineTransformMakeRotation(M_PI);
[UIView commitAnimations];
リンクから:-