問題タブ [cabasicanimation]
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.
iphone - 2つのUILabel間のクロスフェード
2つUILabel
のs(labelOne
とlabelTwo
)があり、2つのラベル間でクロスフェードする必要があるとします。この効果を達成するための最良の方法は何ですか?
[UIView beginAnimations:@"crossFade" context:nil];
などを使用してフェードアウトしてからフェードインしようとしlabelOne
ましlabelTwo
たが、両方のラベルの不透明度が低く、両方が透けて見える場合は、かなり目立つギャップがあります。代わりに、きれいなクロスフェード効果が必要です。使う必要がある気がしますCABasicAnimation
が、少し指導をお願いします。前もって感謝します!
cocoa - CALayerを最終的な場所で恒久的に回転させたままにする方法は?
CALayerを特定の角度に回転させようとしていますが、アニメーションが完了すると、レイヤーは元の位置に戻ります。レイヤーを適切に回転させて、最終的な目的地にとどまるにはどうすればよいですか?
これが私が使用しているコードです
助言がありますか?ありがとうございました。
iphone - フェードバックグラウンド-UIViewのある色から別の色への色
UIViewである背景色から別の色にフェードするにはどうすればよいですか?
javascript(jQuery)では、次のようにすることで実行できます。
$('body').animate({ backgroundColor: "#ff00ff"});
色をHSVに変換した方が簡単でしょうか?
編集:CABasicAnimationでそれを実行しようとしましたが、不明な理由で白く点滅します。:/
それから私はそれを行う別の方法を見つけようとし、「暗黙のアニメーション」に出くわしました。以下は、ほんの一瞬でうまくいきます。
StackOverflow、みんながもっと学ぶのを手伝ってくれてありがとう。:)
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環境で簡単に解決できることを理解していますが、ここで使用するには、大規模な再設計が必要であり、それだけの価値はありません。)パフォーマンスの問題は軽微ですが、あるという感覚を揺るがすことはできません。簡単で明白なことで、その間に高価な回転計算を実行するのを一時停止することなく、ワンドを無期限にアニメーション化できます。
ここにいくつかのコードがあります:
iphone - 完了後にCABasicAnimationが削除されないようにする
ねえ、私はこのコードスニペットを持っています(期間は.5、金額は1.5です)
ただし、これを再生すると、UIViewは適切に拡大しますが、その後、開始値にスナップバックします。「removedOnCompletion」がこれを防ぐはずだと思いましたか?
iphone - CABasicAnimationkeyPathの値を知るにはどうすればよいですか
私はこのようなコードを見つけました:
と
私の知る限り、keyPathは連鎖メソッドの呼び出しです。CALayerの「transform.scale」はaLayer.transform.scaleです。「transform」はCALayerのプロパティであり、「scale」は変換の「プロパティ」です。ただし、CALayerのプロパティ変換はCATransform3Dです。
CATransform3Dには、「scale」または「rotation」という名前のプロパティはありません。
私の質問は次のとおりです。「スケール」と「回転」はkeyPathによってどのように識別されますか?
iphone - アニメーションのようなiOSデバイスアプリ
誰かが私にiOSアプリのアニメーションを実現する方法を教えてもらえますか?
どのような種類のビューコントローラ、オブジェクト、および実装が必要ですか?
ありがとう
objective-c - 任意の時点で CABasicAnimation 内の拡大する円のサイズを取得します
アニメーション中の任意の時点で拡大する円アニメーションの直径 (または半径) を取得する方法を知りたいです。サイズを取得した直後にアニメーションを停止することになりますが、円のサイズを取得するまで停止してレイヤーから削除することはできませんでした。
拡大する円のアニメーションがどのように実装されるかの例として、これは、 iPhone の Quartz2D レンダリングの拡大する円addGrowingCircleAtPoint:(CGPoint)point
の質問の回答のメソッドに示されている実装のバリエーションです。
レイヤー、アニメーションなどのさまざまな値を確認しようとしましたが、何も見つからないようです。最悪の場合、現在の時間をアニメーションに取り込んで最良の推測を試み、それを使用して、サイズの状態との間の状態に基づいて「あるべき」場所を割り出すことができます。これは、私が簡単に取得できるどこかで増加している値であると私が想定するものにとってはやり過ぎのようです。
アップデート:
トランスフォームを含むプレゼンテーション層でいくつかのプロパティを試しましたが、すべての値は、その時点でチェックされている円のサイズに関係なく、常に同じです。
ios - CABasicAnimationに速度と回転数を適用する
SpintheCokeアプリのボトルの回転とRoambieアプリの円グラフを模倣しようとしてい ます。。そのビューでのユーザーのタッチとスワイプに従ってビューを回転させたかったのです。
私が現在行っていること:
- タッチが開始および終了した時間を取得します。(そしてスワイプ)
- タッチまたはスワイプのすべての座標を取得し、合計距離を見つけます。
スピンコークスアプリは、スワイプまたはタッチにかかる距離と時間に基づいてボトルをアニメーション化すると思います。しかし、どうすれば彼らができたのかわかりません。
ビューを最初は速く回転させ、次に遅くして最後に停止させたいと思いました。
この問題をどのように解決できるかについてのあなたの考えを共有してください。