私は、ユーザーがパンおよびズームできる、最初は画面に合うサイズの大きな画像を表示することを仕事とするビューコントローラーを持っています。画像は携帯電話のカメラで撮影され、デバイスに保存され、を使用して再読み込みされました+[UIImage imageWithData:]
。
ナビゲーションスタックにコントローラーを表示しますが、次のようなフェードトランジションを使用します。
SGBImageController *imageController = [[[SGBImageController alloc] init] autorelease];
imageController = <theImage>;
[imageController loadView];
[UIView transitionWithView:self.navigationController.view
duration:0.33
options:UIViewAnimationOptionAllowAnimatedContent
|UIViewAnimationOptionTransitionCrossDissolve
animations:^{
[self.navigationController pushViewController:imageController animated:NO];
} completion:nil];
フェードアニメーションはスムーズなはずですが、ぎくしゃくしていて、楽器を見ると、ずっと時間を費やしていることがわかりますCA::Layer::Render
。loadView
ビューを表示するように強制するために行を追加しましたが、役に立ちませんでした。アニメーション化する前に、View Controllerにそれ自体を描画させるにはどうすればよいですか?