このページの本文へ

Swift Playgroundsで学ぶiOSプログラミング第46回

アフィン変換を使って多彩なアニメーションを実現

6つのパラメーターを使って画像を変形させてみる

2017年07月10日 17時00分更新

文● 柴田文彦 編集●吉田ヒロ

  • この記事をはてなブックマークに追加
  • 本文印刷

 前回から、iOS 10以降で利用可能になった比較的新しいアニメーション機能を実現するUIViewPropertyAnimatorというクラスを扱っています。これは読んで字の如し、ビューのプロパティ(属性)を変化させることでアニメーションを実現するものでした。

 前回は、アニメーションによって変化させるビューの属性として、不透明度を表すalphaや、中心位置を表すcenterを指定していました。また、アニメーションは、ボタンをタップすることで起動し、そのボタンそのもののビューとしての属性を変化させるというパターンを踏襲していました。

 今回は、前回とはちょっと違ったアニメーションの属性、起動方法を試してみることにします。まず変化させる属性は、transformという名前のものです。この語の一般的な意味は「変換」ですが、iOSのビューのtransform属性は特に「アフィン変換」と呼ばれる2次元の座標変換を表します。それによって、ビューを縦横自在に拡大/縮小したり、回転、変形、移動させることもできます。

 もちろん、ビューのtransform属性は、アニメーション機能とは独立したもので、単独で設定してビューの座標を変換することができます。しかし、アニメーションと組み合わせることで、変換前後の見た目の違いが明確になり、アニメーションやアフィン変換について学ぶのにも最適な材料を提供してくれます。

 今回は、このアフィン変換と、前回とは異なったアニメーションの起動方法を組み合わせて探求していきましょう。

この連載の記事

ようこそ、ASCII倶楽部へ

週間ランキングTOP5

ASCII倶楽部会員によく見られてる記事はコレだ!

ASCII倶楽部の新着記事

会員専用動画の紹介も!