0

UIDynamics-を使用してこの小さなアニメーションを作成しましたPush Behavior

私がしたことは:

UIPushBehavior私は次のように簡単に作成しました:

self.pushBehavior = [[UIPushBehavior alloc] initWithItems:@[self.littleJumpy] mode:UIPushBehaviorModeInstantaneous];    

littleJumpy は現在のビューに追加されるUIViewwith size:です。{20, 20}

[animator addBehavior:self.pushBehavior];

その後、設定してmagnitudeから設定しますactive = YES;

上記はメソッド内です。

問題なく動作しています。

ある時点で、このプッシュ動作のactive状態を に設定しNOます。その後、再び に設定しYESます。

これで問題が発生します。NOプッシュ動作のアクティブ状態が に設定されると、それを に設定して再び復活させることはできないことに気付きましたYES

その結果、新しいプッシュ動作を割り当てて構成し、それanimatorをもう一度追加する必要があります。

私が心配しているのは、必要に応じてメモリの問題でありalloc、状態をinitに設定した後、プッシュ動作を何度も繰り返します。activeNO

いくつかのアニメーションでは害はありませんが、誰かが連続的な動きを作りたいと思っていて、その期間中に動作のactive状態が に設定されNO、再度 に設定しても簡単に復活できないYES場合は、新しいalloc+initが必要です何度も実行され、アニメーターに何度も追加されました。

これは通常の動作ですか、それともここで何か不足していますか?

ハッピーホリデー。

4

1 に答える 1

0

これは古い質問です。

activeしかし、何ヶ月も実験を重ねた結果、状態が に設定されNOたら、ビヘイビアを再利用するには、ビヘイビアを何度も何度も再利用する必要がallocあるという結論に達しました。init

つまり、再びYESfromに設定してもNO、動作は再度有効になりません。

于 2014-12-23T13:36:38.487 に答える