jubilee

Programing, Books and more...

Viewのプロパティ値を変化させてアニメーションをつくる

UIViewクラスの animateWithDuration:delay:options:animations:completion メソッドを使うと、ビューのプロパティを変化させてアニメーションを作成することができる。
このサンプルでは、ビューが下に50移動する動きを繰り返すアニメーション。

ViewController.m
1
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