0

これは、ブロックアニメーションの私のコードです。

[UIView animateWithDuration:.5f delay:15.0f options:UIViewAnimationTransitionNone animations:^{
        animationContainer.image = [UIImage imageNamed:@"Hear 1_00.png"];
    }completion:^(BOOL finished){
        if(! finished) return;
        [UIView animateWithDuration:.5f delay:15.0f options:UIViewAnimationTransitionNone animations:^{
            animationContainer.image = [UIImage imageNamed:@"Hear 1_01.png"];
        }completion:^(BOOL finished){
            if(! finished) return;
      }];

    }];

FRAMEシーケンスを320x480(iPhoneのフルスクリーン)でアニメーション化したい。120枚の写真がありますが、を使ってアニメーション化しようとするとNSArray、iPhoneが遅くなるようです。私と共有したり提案したりできる提案やサンプルコードはありますか?ありがとう

4

1 に答える 1

2

次の組み込みのアニメーション機能を使用する必要がありますUIImageView

animationContainer.animationImages = imagesArray;
animationContainer.animationDuration = 0.5f;
[animationContainer startAnimating];

詳細については、UIImageViewドキュメントを参照してください。

また、画像の外観をスムーズにアニメーション化する場合NSTimerは、遅延パラメータの代わりに使用することをお勧めします。15秒ごとにタイマーを起動し、次の画像に任意のアニメーションを表示します。画面に表示される画像が最小であることを確認してください。それらが巨大な場合、サイズを変更して描画するのに何年もかかる可能性があるためです。元の画像を変更できない場合は、アニメーションシーケンスを開始する前に、サイズ変更された画像配列を準備してください。

于 2012-08-24T03:11:10.023 に答える