問題タブ [cakeyframeanimation]
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.
ios - 不透明度を定義するCAKeyframeAnimationパス?
CAKeyframeAnimation をキーフレーム値の代わりにパスで使用して、(位置以外の) プロパティをアニメーション化できますか? キーコードは次のとおりです。
ただし、これは適切に機能しません。不透明度はスムーズにアニメーション化されますが、パスの変更に応じて単調または正確ではありません (イージングのようにパスが (0.0,0.0) から (1.0,1.0) に「正規化」されていると仮定します)。関数)。位置をアニメーション化したり、パス上でレイヤーを移動したりしているわけではありませんが、アニメーション化可能なプロパティに使用したいと考えています。
ドキュメントにはあいまいさがあり、パスを使用してアニメーション時間とアニメーション化されるプロパティの伝達関数を効果的に定義できることが示唆されています (したがって、その伝達関数に基づいて作成されるキーフレーム値の配列の代わりになります)。 . また、「キーフレームのタイミングとペーシングの拡張機能」の iOS 6 ドキュメントでは、パスと値の使用を明確にしようとしていますが、まだあいまいです。
ios - RotationModeはCAKeyframeAnimation(線形パス)では機能しません
パス(線形パス)を通過する限りビューを回転させようとしますが、回転しません。
これは私のコードです:
ただし、imageView(画像の青い面)はパス(画像の赤い線)に沿って回転しません
どうもありがとう。
ios - CGPathAddArcToPoint を使用したパス ビルドを使用した CAKeyframeAnimation が機能しない
keyframeAnimation があり、Path を定義していますが、アニメーションが機能しません。
何かおかしくないですか?:S
コードは次のとおりです。
どうもありがとう
ios - アニメーション中に CALayer の現在位置を取得できません
ボタンを押したままにするとブロックが下に動き、離すと元の位置に戻るアニメーションを実現しようとしていますが、アニメーションブロックの現在の位置を取得できません。これが私のコードです:
しかし、ライン
現在の位置ではなく、目的の位置のみを返しています。基本的に、ボタンを離すとアニメーション化されるコンテナの現在の位置を取得する必要があるため、次のアニメーションを実行できます。私が今持っているものは機能しません。
uiview - キーフレームアニメーションの後まで、一時的にUIViewのアンカーポイントを設定します
UIView のアンカー ポイントを (0.5、1.0 に) 設定すると、レイアウトにあらゆる種類の問題が発生します。必要な限り、一時的に変更することはできませんか?
ios - CALayer の変換プロパティの CAKeyFrameAnimation が期待どおりに機能しない
私はしばらくこれに取り組んでおり、解決策を徹底的に検索しましたが、役に立ちませんでした。これが私がやろうとしていることです。
ユーザーが5秒間ズームおよびパンできるUIScrollViewがあります。UIScrollView の上にレイヤー化されていない別の CALayer があります。UIScrollView で発生するズームとパンを反映するために、この CALayer のコンテンツをスケーリングおよび変換したいと考えています。キー フレーム アニメーションでこれを実現したいと考えていますCAKeyFrameAnimation
。これをコードに入れると、ズームは期待どおりに行われますが、コンテンツの位置が正しくオフセットされません。
これがコードで行う方法です。デリゲートUIScrollView
がズーム スケールとコンテンツ オフセットを次のメソッドに渡すとします。
上のレイヤーをアニメーション化すると、コンテンツは適切にズームされますが、位置が正しくありません。コンテンツが予想以上にずれているように見え、その結果、UIScrollView でユーザーが行ったズーム/パンを正確にたどることができませんx
。y
私が間違っているかもしれないアイデアはありますか?
答え
わかりました、私は自分が間違っていたことを理解しました。これは、CALayer のアンカー ポイントに関係していました。CALayer の変換は、常にアンカー ポイントに適用されます。CALayers の場合、アンカー ポイントはデフォルトで (0.5, 0.5) です。そのため、中心点に沿ってスケーリングと変換が行われていました。一方、UIScrollViews は、ビューの左上隅からのオフセットを提供します。基本的に、CGPoint オフセット値を (0.0, 0.0) として考える目的で、UIScrollView のアンカー ポイントを考えることができます。
したがって、解決策は、CALayer のアンカー ポイントを (0.0, 0.0) に設定することです。そして、すべてが期待どおりに機能します。
この情報をより適切な方法で提示する他のリソースがあります。同様の Stackoverflow に関するこの他の質問を参照してください。ジオメトリの位置、アンカーポイント、および一般的なレイヤーについて詳しく説明している Apple のドキュメントのこの記事も参照してください。
uibezierpath - 2 つの CGpaths - 1 つの CAAnimation - ただし、2 番目のパスは繰り返す必要があります
画面の上部から始まり、緩やかに楕円形になるパスがあるとします。アニメーションが楕円形を繰り返し続けるために、一度楕円形にしたいと思います。CAKeyframeAnimations でこれを行うにはどうすればよいですか? 私は2つ持っていて、2番目を遅らせますか? 1 番目が完了するのを待ってから 2 番目を追加しますか? それとも別の方法がありますか?
ここに私のパス/秒
uibezierpath - 1つの固定点と1つの変更点を使用してベジェ曲線パスをその場で作成する方法
このCAKeyframeアニメーションパスを実行するオブジェクトがある場合(これは、iPhoneの上部領域にある楕円形です。
ここで、このパスが移動するときはいつでも、ある時点での現在の位置と画面の下部のあるポイントからスムーズなパスを作成したいとします。
ちなみに、パスができたら、現在のCAKeyframeAnimationを停止して、このパスを新しいCAKeyframeアニメーションに追加できると思いますが、これが正しくない場合は、ここでもポインターを指定できます。
iphone - repeatCount が huge_val の場合、終了時にアニメーション (CAKeyFrameAnimation) が実行した反復回数を知るにはどうすればよいですか?
各車が道を走るカーレースゲームに取り組んでいます。レースは時間ベースなので、repeatCount をバグ値に設定しています。ここでの問題は、レースが終了したときに何周が完了したか (つまり、アニメーションが何回繰り返されたか) がわからないことです。車のフレームに CGIntersectRect を使用し、正確ではないタイマー関数の開始点を使用しようとしました。
ios - CAKeyFrameAnimationは、繰り返す前に遅延します
パスの周りをアニメートしているボールの画像があります。アニメーションは永久に繰り返されるように設定されていますが、繰り返しの間に遅延があるのはなぜですか?
これが私のコードです: