UIViewの簡単アニメーション
とりあえずUIViewをアニメーションしたい時はこれ。
下手に使うと他のアニメーションも巻き込まれるので注意。
UIViewのクラスメソッドを利用する。
//アニメーションに入る前にスタート地点にUIViewを配置しておく
[viewTarget setFrame:CGRectMake(0.0f, 0.0f, 100.0f, 100.0f)]; //位置とサイズ
CGFloat viewAngle = 0.0f; //回転角度
viewTarget.transform = CGAffineTransformMakeRotation
(viewAngle*(M_PI/180.0f));
▼移動して、移動終了時の処理もしたい時
[UIViewanimateWithDuration:1.0f//アニメーションにかける時間
animations:^{
//アニメの終了点の指定
[viewTarget setFrame:CGRectMake
(100.0f, 100.0f, 100.0f, 100.0f)];
CGFloat viewAngle = 170.0f; //回転角度
viewTarget.transform =
CGAffineTransformMakeRotation
(viewAngle*(M_PI/180.0f));
}
completion:^(BOOL finished){
//アニメーションが終了したときの処理
}];
//他にこんなクラスメソッドも用意されているので、使いたいオプションに応じて利用する
▼移動するだけ
[UIView animateWithDuration:(NSTimeInterval)
animations:^(void)animations];
▼移動する前の待機時間を設定、動きの加速減速設定、終了後の設定もしたい時
[UIView animateWithDuration:(NSTimeInterval)
delay:(NSTimeInterval)
options:(UIViewAnimationOptions)
animations:^(void)animations
completion:^(BOOL finished)completion];
▼上記に加えてポヨンポヨンしたい時
[UIView animateWithDuration:(NSTimeInterval)
delay:(NSTimeInterval)
usingSpringWithDamping:(CGFloat)
initialSpringVelocity:(CGFloat)
options:(UIViewAnimationOptions)
animations:^(void)animations
completion:^(BOOL finished)completion];
//各オプションの意味と設定値
Duration: アニメーションにかける時間(秒)
animations: アニメ終了時の座標や、回転などを設定(UIViewの設定値)
delay: アニメション開始までの待機時間(秒)
options: UIViewAnimationCurveで始まるアニメの加速減速の設定
(UIViewAnimationCurve定数)
UIViewAnimationCurveEaseIn 徐々に加速する
UIViewAnimationCurveEaseInOut 最初は加速、終了時に減速
UIViewAnimationCurveEaseOut 徐々に減速する
UIViewAnimationCurveLinear 一定速度でアニメーション
usingSpringWithDamping: 移動終端でぽよんぽよんする。(0.0f~1.0f)
0:ぽよんぽよん最大 1:ぽよんぽよん最小
initialSpringVelocity: バネの初速。(0.0f~1.0f)
良くわからん時は0にしとけ。
1にすると1秒かけて最初の移動するよ。
参考ページ