アニメーション化されたUIImageViewを使用して30の512 x 512フレームのシーケンスを表示するコントローラがあります。アプリケーションを実行すると、ビューはすぐに以下を実行します。アニメーション化されたUIImageViewを使用したviewDidLoadとviewDidAppearの間の遅延
- (void)viewDidLoad {
[super viewDidLoad];
[[self imageView] setAnimationImages:[[self dataModel] framesForLOOP]];
[[self imageView] setAnimationDuration:2.5];
[[self imageView] setAnimationRepeatCount:1];
[[self imageView] startAnimating];
NSLog(@"MARKER_001");
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSLog(@"MARKER_002");
}
このすべてが正常に動作しますが、私が動作するようにしようとしていることviewDidLoad:
が呼び出された後viewDidAppear:
が(MARKER_001とMARKER_002間)と呼ばれる前に2秒の遅延があることです。
フレームNSArray
の設定が遅れているか、setAnimationImages:
、またはstartAnimating
の呼び出し後に遅延が発生する可能性があると考えていました。
この遅延を減らす/削除するには、そこにはありますか?スタートアップ時にアニメーションをプリロードし、ビューコントロールがロードされてから新しいものをインスタンス化するボタンを作成するので、コントローラが遅れを感じる。
imageViewの情報がコメントアウトされているときにそれを比較することはできますか?最初にそれが問題かどうかを見てみましょう。 – danh
私は[super viewDidLoad];とNSLog(@ "MARKER_001");遅延はありません。私は遅れが基本的にviewControllerは、画面上でアニメーションUIImageViewを取得し、再生するためにシーンの背後に必要なものを設定していると思われる。 – fuzzygoat