問題タブ [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 投票する
1 に答える
789 参照

iphone - CABasicAnimationがアニメーション化されているときにコールバックするにはどうすればよいですか?

回転可能なUIViewを円形グリッドにスナップするために使用しているアニメーションがあります。ビューがアニメーション化されると、回転するビューの位置に基づいて別のビューを更新する必要があります。

回転ビューが所定の位置にアニメーション化するときに、回転ビュー位置を取得するにはどうすればよいですか?

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

iphone - UIImageViewはCAKeyframeAnimationの後に消えています

UIViewのカテゴリでこのコード(SOの回答にあります)を試し、UITableViewCell内にネストされたUIImageViewで「ポップ」アニメーションを実行するために使用しています。

アニメーションは正常に機能しますが、終了すると消えます。この問題について他の人への回答を見つけましたが、この場合、fillModeの設定は機能しないようです。

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

cocoa - さまざまなインターフェース要素を持つ CAAnimationGroup

2つをクロスフェードNSViewsしてサイズを変更したいNSWindow. それらを個別に行う方法は知っていますが、これまでのところ同時に行う方法はわかっていません。が必要だと思いますCAAnimationGroup。しかし、私は 2 つの異なるオブジェクトを扱っているため、グループに 2 つのアニメーションを追加する方法がわかりませんanimator。また、両方を呼び出すことができないため、アニメーションを開始する方法もわかりません。

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

cocoa-touch - CABasicAnimation を使用して Frame.size を変更する方法

こんにちは、以下のコードで使用する CABasicAnimation を使用してフレーム サイズを変更しました

ただし、アニメーションは原点から開始され、両側に移動します(アニメーションが中央から開始するように)。

newanim = [CABasicAnimation animationWithKeyPath:@"frame.size"]; を変更してみました。

まったく機能しません。

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

ios - iOS: UIView アニメーションと CABasic/CAKeyframe アニメーションのパフォーマンス

UIView アニメーションと CA Animation ブロックのパフォーマンスに違いはありますか? これらはすべて Core Animation へのインターフェイスであることは理解していますが、アニメーションごとのパフォーマンスとリソースを最大限に絞り込もうとしています。ありがとう。

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

iphone - UIViewアニマトンが最初にリセットされます

スクロールビューのcontentoffsetが継続的に下にスクロールするように、アニメーションを実行しようとしています。

ただし、各繰り返しの後、元の位置からアニメーション化され、進行しません。

何か案は ?

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

iphone - CAAnimationGroup と CAKeyframeAnimation の利点と欠点

私は現在、iOS 向けのいくつかのコア アニメーションに取り組んでおり、本当に楽しんでいます。この質問は、アニメーションを実装できるさまざまな方法に関するものです。UIView を数回回転させたいが、アニメーション サイクルごとに異なるタイミング関数を使用するとします。私の知る限り、これを実装するには少なくとも 2 つの異なる方法があります。

  1. を作成し、さまざまなオブジェクトをCAAnimationGroup追加します。それらのプロパティをCABasicAnimation制御し、それらに異なる設定をすることで、私が望む個々の動作が得られます.beginTimeCAMediaTimingFunction
  2. もう 1 つのオプションは、 を作成し、CAKeyframeAnimationさまざまなキー値を追加することで、さまざまな「フレーム」を個別にカスタマイズすることです。

だから私の質問はこれです:これらの実装のいずれかを使用する利点はありますか?

私のフォローアップの質問:もしそうなら、これを見つけるためにどのような方法を使用しますか? つまり、アニメーションのパフォーマンスを測定するにはどうすればよいでしょうか。

よろしくお願いいたします。

//Abeansits

0 投票する
5 に答える
16482 参照

ios - CAAnimation でカーブ/アーク アニメーションを実行するには?

アイテムが削除されるユーザー インターフェイスがあり、iOS メールで「フォルダーに移動」効果を模倣したいと考えています。小さな文字のアイコンがフォルダに「放り込まれる」効果。代わりに、私のものはゴミ箱に捨てられます。

CAAnimationレイヤー上のを使って実装してみました。ドキュメントを読むことができる限り、 abyValueと aを設定できるはずでtoValue、CAAnimation は値を補間する必要があります。少しカーブさせたいので、アイテムはアイテムの開始位置の少し上と左側のポイントを通過します。

私はしばらくこれをいじりましたが、Apple は線形補間を意味しているように思えます。byValue を追加しても、適切な円弧または曲線が計算されず、それを介して項目がアニメーション化されません。

このようなアニメーションを行うにはどうすればよいでしょうか。

助けてくれてありがとう。

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

iphone - CABasicAnimation でボールを水平に動かし、正しい位置で止める方法

私はゲームを書こうとしていますが、このアニメーションに少し行き詰まっています。画面内で水平方向に動くボールがあります。コードは次のとおりです。

これは素晴らしい作品です。ただし、私の問題は、アニメーションを停止すると、画面をタップするだけで、正しい位置に移動する前にボールが移動することです。

最初に、Horizo​​ntalBallAnimation の「ToValue」にアニメーション化します。次に、gameObject によって設定された正しい値に移動します。誰かがこれで私を助けてくれますか?

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

iphone - UINavigationController のプッシュ遷移中のフレーム レートが低い

がありUINavigationController、ルート ビュー コントローラーから次のビュー コントローラーにプッシュします。この 2 番目のビュー コントローラーは、初期化とサブビューが大量にあるという点で、かなり「重い」ものです。

私の問題はこれです: トランジション アニメーションがひどく実行されます。基本的に、アニメーションは非常に低いフレーム レートに悩まされます (「プッシュ」アニメーションから合計で 3 ~ 4 フレームを取得します)。

トランジションを手動でアニメーション化する 2 つの方法など、さまざまな手法を試しました。いずれの場合も、アニメーションの最初の 0.4 ~ 0.7 秒は、この低フレームレートの影響を受けます。たとえば、トランジションに 5 秒かかるように設定した場合、最初の 0.5 秒ほどのパフォーマンスは低下しますが、アニメーションの残りの部分は素晴らしくスムーズです。

これにより、移行の開始時に「何か」が発生していると思われます。これにより、デバイスが非常に低いフレームレートでアニメーション化されます。

コードに多くのNSLogステートメントを挿入した後、2 つのことが起こりました。まず、プッシュ中に 2 番目のビューが遅延ロードされていることは明らかです。プッシュを実行する前にビュー プロパティのゲッターにアクセスすることで、これを修正しました。これにより、プッシュ アニメーションが始まる前にすべての初期化が行われることを確認できます。

次に、ほとんどの場合、私のアプリは移行中にメモリ不足の警告を受け取ります。ただし、メモリの警告が表示されない場合でも、アニメーションのパフォーマンスは依然として低く、これらのいずれも原因ではないと思います.

私の質問:UINavigationControllerアニメーションの最初の 0.4 ~ 0.7 秒間だけ、プッシュ トランジション アニメーションで低いフレームレートを経験した人はいますか? それを引き起こす舞台裏で何か他のことが起こっていますか? 何かできることはありますか?

参考までに、ロードして次のビューにプッシュする現在のコードを次に示します。移行前にビューを強制的にロードして初期化するために、意図的にビュー ゲッターにアクセスしています (主にそれを問題として除外するため)。このコードはperformSelectorOnMainThread:::、Web サービス コールバックへの応答として使用するメイン スレッドで実行されます。

他のアニメーション手法もいくつか試しましたが、すべて同じ結果になりました。

と: