UIViewクラスの animateWithDuration:delay:options:animations:completion
メソッドを使うと、ビューのプロパティを変化させてアニメーションを作成することができる。
このサンプルでは、ビューが下に50移動する動きを繰り返すアニメーション。
ViewController.m1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| - (void)viewDidAppear:(BOOL)animated
{
// 座標がとれるのはviewDidAppearのとき
CGFloat centerX = _baseView.center.x;
CGFloat centerY = _baseView.center.y;
// アニメーションのオプション
UIViewAnimationOptions animeOptions =
UIViewAnimationOptionCurveEaseInOut | // 加速して開始・減速して終了(イーズインアウト)
UIViewAnimationOptionAutoreverse | // 自動逆再生
UIViewAnimationOptionRepeat; // 繰り返し
// 処理
[UIView animateWithDuration:1.0 // アニメの秒数
delay:2.0 // 開始待ち時間
options:animeOptions
animations:^{ // 変化させるプロパティ
_baseView.center = CGPointMake(centerX, centerY+50);
}
completion:nil // アニメーション完了時に行う処理
];
}
|
変化させることができるプロパティ
- frame
- bounds
- center
- transform
- backgroundColor
- contentStretch