4章アニメーション

アニメーションとは、時間の経過とともに属性を視覚的に変化させることです。変化させる属性は位置に関するものが多いかもしれませんが、常にそうとは限りません。たとえば、ビューの背景色が赤から緑に変わるときに、一瞬で変わるのではなく、赤がゆっくり消えて緑に変わっていくようにできます。あるいは、ビューの透明度が不透明から透明に変わるときに、一瞬で変わるのではなく、徐々に透明に消えていくように変化させることができます。

何らかの助けがなければ、ほとんどの人はアニメーションなど到底無理だと思うことでしょう。アニメーションはあまりにも複雑すぎます。計算、タイミング、スクリーンの更新、スレッド等々、さまざまな要素が絡んできます。ただ幸いなことに、支援が提供されています。アニメーションを自力で実行する必要はありません。アニメーションを記述し、命令を発すれば、後は自動的に実行されるのです。アニメーションはオンデマンドで利用できます。

アニメーションを実行したいときにやるべきことは、単にプロパティに値を設定することだけです。場合によっては、コードを1行書くだけでアニメーションを実行できます。

myLayer.backgroundColor = [[UIColor redColor] CGColor];
// アニメーションを使って赤に変える

これは、たまたまそうなっているのではありません。Appleはアニメーションを手軽に使えるようにしたいと考えているのです。アニメーションはiOSのインタフェースの性格を決める不可欠な要素です。それは単にクールで面白いというだけではありません。アニメーションは、何かが変化しつつある、あるいは応答しつつあるということを、はっきりと示してくれるのです。たとえば、筆者が最初の頃に作成したアプリのひとつは、OS ...

Get 詳解 iOS SDK 第4版 ―ワンランク上のiPhone/iPadプログラミング now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.