いやぁ、iPhone 5s と 5cが発表されましたね〜。
それはそれとしてCALayerのアニメーションを書きやすく/読みやすくするPBReadableTransactionを公開しました。
CALayerをアニメーションさせる場合には、CAAnimationを使ういわゆる明示的アニメーションと暗黙的アニメーションがあります。
前者は [layer addAnimation:animation forKey:key]; といった感じで書くヤツですね。
後者は layer.opacity = 0.4f; のように、CALayerのAnimatableなプロパティに変更を加えると勝手にアニメーションしてくれるヤツ。楽チン!
で、今回は後者の暗黙的アニメーション/CATransactionについて。
複数のレイヤーを同時にアニメーションしたい場合や、同時に複数のプロパティを動かしたい場合には、CATransactionを使うんですがこれがどうしても読みづらい。
コードを書いている時には考えて書いているのでさほど問題は無いんですが、あとあとになって解読しようとすると個々のレイヤーがどうアニメーションしているのかがすぐに分からない。。なんて事が度々起こってしまうワケです。
これをもっと読みやすく/書きやすく出来ないか?と考えたのが今回のキッカケ。
続きを読む →