1
- 私は無限に繰り返すアニメーションをview_Aに追加します。
- アニメーションが開始されます。
- 私はview_Bのスーパービューのうち、view_Aを交換します。
- view_A上のアニメーションが停止した - 私は私の
animationDidStop:finished:
デリゲートメソッドでそれを伝えることができます - と私はview_A.layer.animationKeys
はnil
とview_A.layer.animations
(それを明らかにすることができますGDBでview_A.layerを印刷)空である、[view_A.layer animationForKey:theAnimationKey]
がnil
で見ることができます。 (質問1:ビューをスーパービューから削除すると、すべてのアニメーションが自動的に削除されますか?) - 私はview_Aを元に戻します。ここで奇妙なことが起こります:アニメーションがまだ進行中であることがわかります。 (質問2:?それは停止し、そのビューから削除された後、どのようにアニメーションが行く保つことができる)
- さらに奇妙な事が
[view_A.layer removeAnimationForKey:theAnimationKey]
を呼び出すことにより、I がステップ5の後にアニメーションを停止することができるということです!
ステップ4では、ブール値はYESまたはNOで終了しましたか? –
@FaisalMemon NO。ビューがウィンドウから削除されたときにアニメーションが中断されたためです。しかし、ビューがウィンドウに再び追加されたときにはまだ進行中です。非常に奇妙な。 – an0
removedOnCompletionプロパティ値とは何ですか?また、複数のanimationDidStart呼び出しを取得しましたか? –