CABasicAnimationのopacityがアニメーションしてくれない
CALayerのアニメーションでopacityを0から1にして1から0にする、みたいなことをしようとしたのですが、恐ろしくハマってしまいました。
CABasicAnimationを使うとできそうなのですが、、、
調べるとNSNumber使えとかまあいろいろ見つかるのですが、何をやっても動作しない。
ようやく辿り着いたのが
リファレンスを読む限りそうなの?って感じがするが、、、
あと、fillModeプロパティも用途に応じて適切に設定しとかないといけない。これは納得できるけど。
なお、今回のはiMovieみたいな動画編集アプリ作成時、つまり動画の上に画像を乗せる場合での処理なのでその辺りが特殊だったのかもしれない。
iOSで動画の上に画像を載せて回転アニメーションさせる方法 - Qiita
↑なんで動画に画像乗せるのにCALayerを使うかはこちらを参考にしたからです。
↑位置や時間はともかくやっとopacityの値が変わってくれた〜!というツイート。
CABasicAnimationを使うとできそうなのですが、、、
let animation = CABasicAnimation(keyPath: "opacity")↑リファレンスにはこれだけ書いてるのですが、、、これが全く動作しない。
animation.fromValue = 0
animation.toValue = 1
調べるとNSNumber使えとかまあいろいろ見つかるのですが、何をやっても動作しない。
ようやく辿り着いたのが
animation.isRemovedOnCompletion = falseを追加しておくと動くようになった、、、!
リファレンスを読む限りそうなの?って感じがするが、、、
あと、fillModeプロパティも用途に応じて適切に設定しとかないといけない。これは納得できるけど。
なお、今回のはiMovieみたいな動画編集アプリ作成時、つまり動画の上に画像を乗せる場合での処理なのでその辺りが特殊だったのかもしれない。
iOSで動画の上に画像を載せて回転アニメーションさせる方法 - Qiita
↑なんで動画に画像乗せるのにCALayerを使うかはこちらを参考にしたからです。
作成中の動画編集アプリ、動画に画像を乗せて動画として出力する、というのがやっと動いた!CABasicAnimationがなかなか言うことを聞いてくれず苦労した。 pic.twitter.com/AnfGwVs7hd
— Yamaguchi Tatsuya (@yt) June 27, 2022
↑位置や時間はともかくやっとopacityの値が変わってくれた〜!というツイート。
スポンサーサイト