3

UIImageView を使用して表示しているアニメーションがあります。

imageView.animationImages = myImages;
imageView.animationDuration = 3;
[imageView startAnimating];

stopAnimating を使用して停止できることはわかっていますが、一時停止できるようにしたいのです。その理由は、停止を呼び出すと、アニメーション画像が表示されないのに対し、ボタンを押したときに最後に表示されたものを表示したいからです。

継続時間をもっと大きな数値に設定しようとしましたが、それによってすべての画像も消えてしまいます。これを行うには本当に基本的な方法が必要ですか?

4

6 に答える 6

8

うーん…誰も知らないみたいなので無理かな。

私は先に進み、 を使用して画像を切り替えるを使用して独自のUIViewを作成しました。これの利点は、暇なときにタイマーを一時停止および再開できることであり、パフォーマンスは問題にならないようです。UIImageView subviewNSTimer

于 2008-10-31T22:14:46.850 に答える
3

@oddmeter ほんの少し編集:

    animatedView.animationImages = images; //images is your array
    [animatedView startAnimating];


    //Then when you need to pause;

[animatedView stopAnimating]; //Important!!
    animatedView.image = [images objectAtIndex: 0];
于 2012-02-11T14:51:09.497 に答える
2

これでうまくいくはずです: https://developer.apple.com/library/ios/#qa/qa2009/qa1673.html

CALayer基本的に、ベースのアニメーションを一時停止/再開するために何をする必要があるかを示します。

制御されたアニメーションでCALayerメソッドを使用することに抵抗がある場合は、いつでも配列ベースのアニメーションを自分で作成できます。必要なコードは非常に短いので、ここから取得できます: http://rssv2.blogspot.com/2011/04/animating-series-of-images-with-calayer.htmlUIImageViewUIImage

于 2012-03-20T20:02:38.270 に答える
0

もう 1 つのオプションは、プロパティだけでなく画像プロパティも設定することanimationImagesです。UIImageViewこれを行うと、 のアニメーションが停止したときに静止画像が表示されます。

クラスが のサブクラスでUIImageViewあり、NSMutableArrayの画像があると仮定すると、次の操作を行います。

self.animationImages = images;
//yes, I'm skipping the step to check and make sure you have at least one
//element in your array
self.image = [images objectAtIndex: 0];
于 2009-10-27T03:06:57.820 に答える
-1

たぶん、最後のアニメーション画像のスクリーンショットを撮って表示できますか?

于 2008-10-31T12:39:51.020 に答える