90度回転をtransformに設定した後、拡大を設定すると
90度回転はなかったことになってるので注意。
回転した状態で拡大する場合はCGAffineTransformConcatで
transformを合成して設定する必要がある。
ちなみに
animeView.transform = CGAffineTransformIdentity;で初期状態にもどる
*3/1修正 回転も拡大縮小も中心起点だった;
アフィン変換いまいちわかってないなー。
-(void)startAnime:(UIView*)animeView{ //開始前に縮小しておく animeView.transform = CGAffineTransformMakeScale(0.1, 0.1); //アニメーション設定開始 [UIView beginAnimations:nil context:NULL]; //アニメーションの秒数 [UIView setAnimationDuration:0.3]; //動きの設定 [UIView setAnimationCurve:UIViewAnimationCurveEaseOut]; //delegate設定(endAnimeがいらないならnilでOK) [UIView setAnimationDelegate:self]; //アニメーション終了後にやりたい処理 [UIView setAnimationDidStopSelector:@selector(endAnime)]; //90度回転しながら元の大きさに拡大 CGAffineTransform transform1,transform2; transform1 = CGAffineTransformMakeRotation(M_PI * 90 / 180.0f); /* //ちなみに移動はこれ transform1 = CGAffineTransformTranslate(transform1, 128, 128); */ //拡大 transform2=CGAffineTransformMakeScale(1.0, 1.0); //transformの合成 CGAffineTransform concat = CGAffineTransformConcat(transform1, transform2); //transformの適用 [animeView setTransform:concat]; //アニメーション設定終了 [UIView commitAnimations]; } -(void)endAnime{ //アニメーション終了後にやりたい処理を書く }