-1

私は次のコードを得ました:

test.image = [testArray lastObject];
test.animationImages = testArray;
test.animationDuration = 1;
test.animationRepeatCount = 1;
[test startAnimating];

ある日、アニメーションを「巻き戻す」ことができることを読んだことは確かですが、その解決策はもう見つかりません。配列を順序付け (DESC) するよりも良い解決策はありますか?

ありがとう!

4

2 に答える 2

2

reverseObjectEnumerator のオブジェクトにアクセスすることで、アニメーションを逆にすることができます。

testArray = [[testArray reverseObjectEnumerator] allObjects];

次に、それをアニメーションに渡すことができます。

test.image = [testArray lastObject];
test.animationImages = [[testArray reverseObjectEnumerator] allObjects];
test.animationDuration = 1;
test.animationRepeatCount = 1;
[test startAnimating];

または、UIViewAnimationOptionAutoreverse を調べることもできますが、それが完全に探しているものかどうかはわかりません。

于 2012-11-12T17:18:07.917 に答える
0

UIImageViewアニメーションの可能性が限られている を使用しています。アニメーションを元に戻すことは可能ですが、CoreAnimation ベースのアニメーションを使用します。アニメーションに必要なコントロールのレベルに応じて、2 つのオプションがあります。

  • を使用し続けUIImageView、max_ が示唆することを行います: images 配列を変更して、アニメーションが希望どおりに再生されるようにします (順方向に再生してから逆方向に再生する必要がある場合は、配列をさらに変更してその効果を得ることができます。各画像はこれを達成するために配列に複数回出現する)

  • CALayerアニメーションに切り替えます。UIImagesの配列を の配列に変換し、レイヤーのキーパスで操作CGImagesを作成する必要があります。アニメーションオブジェクトはそのようなことを可能にするプロトコルを実装しているため、アニメーションを自動反転するオプションを含め、必要なすべての制御を行うことができます。CABasicAnimationcontentCAMediaTiming

于 2012-11-12T21:33:51.783 に答える