Swift Playgroundsで学ぶiOSプログラミング 第45回
プロパティアニメーターを使ってビューにアニメーションをつける
画像をフェードアウトさせたり移動させたりするプログラム
2017年07月05日 17時00分更新
このところ、UIKitに含まれる基本的なコンポーネントを使ったユーザーインターフェースの作り方の話を続けてきましたが、それも前回でひと区切り付きました。前回の最後には、今回から「動き」のあるフレームワークを扱っていくことを予告しました。動きを表現する方法には、かなり多くの種類があります。一般的な2Dのアニメーションは、その代表的なものですが、そのアニメーションの実現方法にもいろいろあります。
iOSには、主にUIコンポーネントに動きをつけるものとして、iOS 7のころから、いわゆるUIKitアニメーションという機能が用意されていました。これはObjective-Cの文法に合わせて用意されたものでしたが、Swiftからも使えるようになってはいました。しかしiOS 10からは、新しい時代に合わせて、より使いやすいアニメーション機能が実装されました。それを担うのが、今回取り上げるUIViewPropertyAnimatorというクラスです。
その名前から想像できるように、これはビューの属性を変化させるアニメーションを実現するものです。ビューの属性と言っても、さまざまなものがありますが、主に使われるのはビューの大きさや位置を決めるframeや中心の位置を直接指定するcenter、不透明度を指定するalpha、2次元の座標変換を指定するtransformなどです。
これらはビューが表示している中身ではなく、言わばビューの外枠に付けるアニメーションということになるでしょう。以前にも述べたように、UIKitに含まれるUIコンポーネントもビューの一種なので、UIにアニメーションを付けるのにもぴったりです。
この連載の記事
- 第100回 SceneKitの物理現象シミュレーションとアニメーションをARKitに持ち込む
- 第99回 「物理学体」と「物理学場」を設定して物理現象をシミュレーション
- 第98回 SceneKitのノードに動きを加えるプログラム
- 第97回 いろいろな形のノードをシーンの中に配置する
- 第96回 SceneKitの基礎シーンビュー、シーン、ノードを理解する
- 第95回 現実世界の床にボールや自動車のモデルを配置する
- 第94回 ARKitを使って非現実世界との融合に備える
- 第93回 ARKitが使えるiPadを識別するプログラム
- 第92回 Swift Playgrounds 2.1での問題点をまとめて解消する
- 第91回 iPadの内蔵カメラで撮影した写真を認識するプログラム
- この連載の一覧へ