頭と尻尾はくれてやる!

iOSアプリなどの開発日記です


CABasicAnimationのopacityがアニメーションしてくれない

CALayerのアニメーションでopacityを0から1にして1から0にする、みたいなことをしようとしたのですが、恐ろしくハマってしまいました。

CABasicAnimationを使うとできそうなのですが、、、
let animation = CABasicAnimation(keyPath: "opacity") 
animation.fromValue = 0
animation.toValue = 1
↑リファレンスにはこれだけ書いてるのですが、、、これが全く動作しない。
調べるとNSNumber使えとかまあいろいろ見つかるのですが、何をやっても動作しない。

ようやく辿り着いたのが
animation.isRemovedOnCompletion = false
を追加しておくと動くようになった、、、!
リファレンスを読む限りそうなの?って感じがするが、、、

あと、fillModeプロパティも用途に応じて適切に設定しとかないといけない。これは納得できるけど。


なお、今回のはiMovieみたいな動画編集アプリ作成時、つまり動画の上に画像を乗せる場合での処理なのでその辺りが特殊だったのかもしれない。
iOSで動画の上に画像を載せて回転アニメーションさせる方法 - Qiita
↑なんで動画に画像乗せるのにCALayerを使うかはこちらを参考にしたからです。



↑位置や時間はともかくやっとopacityの値が変わってくれた〜!というツイート。
スポンサーサイト






  TopPage  



Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.