問題タブ [caanimation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1251 参照

iphone - iPhone:2つの異なるレイヤーでアニメーションを同期する

2つの異なるレイヤーでパスアニメーションを同期する必要があります(1つは別のレイヤーのマスクとして使用され、もう1つはパスをたどるグラフィック要素を表示します。つまりマスクを描画します)。私がそれらを同じように設定した場合、それらはまったく同じことをすることは決してありません。現在、パス(グラフィック要素の場合)とCABasicAnimationを使用してCAKeyframeAnimationを使用しています。ここでは、同じパスの「strokeEnd」を0.0から1.0(マスクの場合)にアニメーション化します。

ここではアニメーショングループが機能しないと思います。これは、グループをマスクレイヤーに適用すると、グラフィック要素が非表示になるためです。

0 投票する
3 に答える
1101 参照

iphone - 2つのUILabel間のクロスフェード

2つUILabelのs(labelOnelabelTwo)があり、2つのラベル間でクロスフェードする必要があるとします。この効果を達成するための最良の方法は何ですか?

[UIView beginAnimations:@"crossFade" context:nil];などを使用してフェードアウトしてからフェードインしようとしlabelOneましlabelTwoたが、両方のラベルの不透明度が低く、両方が透けて見える場合は、かなり目立つギャップがあります。代わりに、きれいなクロスフェード効果が必要です。使う必要がある気がしますCABasicAnimationが、少し指導をお願いします。前もって感謝します!

0 投票する
2 に答える
934 参照

cocoa - CALayerを最終的な場所で恒久的に回転させたままにする方法は?

CALayerを特定の角度に回転させようとしていますが、アニメーションが完了すると、レイヤーは元の位置に戻ります。レイヤーを適切に回転させて、最終的な目的地にとどまるにはどうすればよいですか?

これが私が使用しているコードです

助言がありますか?ありがとうございました。

0 投票する
4 に答える
3716 参照

ios - iOS:アニメーション用にUIViewまたはCALayersを追加する必要がありますか?

アニメーション化する目的で、ビューに50枚の画像を追加したいとします。そして、「UIView」アニメーションではなく、Core Animation(CABasicAnimationなど)を使用することを計画しているとしましょう。

50個のサブビューまたは50個のサブレイヤーを追加して、これを実装する方がよいでしょうか。それは違いを生みますか?

ありがとう。

0 投票する
1 に答える
149 参照

iphone - このコードはobjective-cで何を意味しますか?

^{}ってこと?この記号を使用する理由。

0 投票する
1 に答える
5291 参照

iphone - フェードバックグラウンド-UIViewのある色から別の色への色

UIViewである背景色から別の色にフェードするにはどうすればよいですか?

javascript(jQuery)では、次のようにすることで実行できます。
$('body').animate({ backgroundColor: "#ff00ff"});

色をHSVに変換した方が簡単でしょうか?

編集:CABasicAnimationでそれを実行しようとしましたが、不明な理由で白く点滅します。:/

それから私はそれを行う別の方法を見つけようとし、「暗黙のアニメーション」に出くわしました。以下は、ほんの一瞬でうまくいきます。

StackOverflow、みんながもっと学ぶのを手伝ってくれてありがとう。:)

0 投票する
2 に答える
1869 参照

serialization - 複数の CAAnimation を順次結合

私は CATransactions について読んでいて、これが私の問題を解決するのに役立つかもしれないと考えました。

これは私がやりたくないことです。同じレイヤーに 3 つのアニメーションがあり、それぞれに独自の長さがあります。CAKeyframeAnimation と CGMutablePathRef を使用してアニメーションを作成します。

たとえば、次のように言います。

  • anim1 -> 持続時間 5 秒
  • アニメ2→3秒
  • アニメ3→10秒

今、それらを順番にシリアライズしたいと思います。CAAnimationGroup を使用しようとしましたが、アニメーションが同時に実行されます。CATransaction について読みましたが、解決策はありますか? 少し例を挙げていただけますか?

手伝ってくれてありがとう !

0 投票する
0 に答える
321 参照

iphone - パスに沿って CAKeyFrameAnimation を追跡する UIScrollView コンテンツ

私のアプリにはフルスクリーンの UIScrollView があり、コンテンツは約 2000px の正方形 (つまり、UIScrollView より大きい) のマップ画像を含む UIImageView です。

現在、マップ全体にパスをプロットし、それに沿って CAKeyFrameAnimation を使用して「ビーコン」画像をアニメーション化しています。

私ができるようにしたいのは、UIScrollView コンテンツをアニメーションに合わせて移動させ、ビーコン画像を画面の中央に保つようにすることです (パスに沿って追跡している印象をユーザーに与えます)。

これを達成する方法について何か提案はありますか?

0 投票する
1 に答える
1840 参照

calayer - CABasicAnimationコールバックを使用する代わりに?

CAAnimationは、標準の「animationDidStart:」/「animationDidStop:」メソッド以外のコールバック関数を割り当てるためのメカニズムを提供していません。

オーバーラップする2つのCALayerを利用するカスタムUIControlがあります。このコントロールの目的は、昔ながらのソナーに似ています。最上層のコンテンツには、絶えず回転する画像が含まれています(この層を「ワンド」と呼びます)。そのレイヤーの下には、ワンドがブリップを通過するときにブリップをレンダリングする「spriteControl」レイヤーがあります。

ブリップが表すオブジェクトは、spriteControlによってプリフェッチされ、非表示のCAShapeLayersに編成されます。CABasicAnimationを使用してワンドを一度に10度回転させ、次に「animationDidStop:」メソッドを使用して、ワンドレイヤーの現在の回転値(別名見出し)を取得し、ブリップインおよびフェードアウト効果をシミュレートするための1.0〜0.0。最後に、プロセスは無期限に最初からやり直されます。

CAAnimationコールバックを使用するこのアプローチでは、ワンドが「ping」位置(つまり、10度、20度、270度など)に到達するタイミングが常に他のレイヤーのブリップの照明と一致することが保証されますが、停止の問題があります。 、再計算し、10度ごとにアニメーションを開始します。

NSTimerを生成して、ワンドのプレゼンテーション層の角度を照会して見出し値を取得するメソッドを起動できます。ただし、これにより、ワンドとブリップのハイライトの同期を維持することがより困難になり、および/または一部が完全にスキップされる原因になります。このアプローチについては、ここで少し説明します。CABasicAnimationがアニメーション化されているときに、どのようにコールバックできますか?

したがって、私の質問は、OpenGL ESを使用してコントロールを再実装せずに、ワンドレイヤーの回転のパフォーマンスを改善するためにできることがあるかどうかです。(これはOpenGL環境で簡単に解決できることを理解していますが、ここで使用するには、大規模な再設計が必要であり、それだけの価値はありません。)パフォーマンスの問題は軽微ですが、あるという感覚を揺るがすことはできません。簡単で明白なことで、その間に高価な回転計算を実行するのを一時停止することなく、ワンドを無期限にアニメーション化できます。

ここにいくつかのコードがあります:

0 投票する
1 に答える
2287 参照

iphone - 完了後にCABasicAnimationが削除されないようにする

ねえ、私はこのコードスニペットを持っています(期間は.5、金額は1.5です)

ただし、これを再生すると、UIViewは適切に拡大しますが、その後、開始値にスナップバックします。「removedOnCompletion」がこれを防ぐはずだと思いましたか?