アニメーション化された UIImageView を使用して 30 512 x 512 フレームのシーケンスを表示するコントローラーがあります。アプリケーションを実行すると、ビューはすぐに次のことを行います。
- (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:
のは、呼び出された後、呼び出される前に 2 秒の遅延があることですviewDidAppear:
(MARKER_001 と MARKER_002 の間)。
フレームのセットアップ、NSArray
または呼び出しの後、setAnimationImages:
またはおそらく後に遅延が発生する可能性があると考えていましたstartAnimating
。
とにかくこの遅延を減らす/削除する方法はありますか?新しいコントローラーをインスタンス化するためにセグエを起動するボタンが遅延するため、viewController の読み込み時に遅延が発生するよりも、起動時にアニメーションをプリロードしてそこでヒットすることをお勧めします。