アニメーションが始まる前に表示されるモーダル UIViewController の背景に問題があります。UIViewController をロードする単純な UINavigationController があります。次に、presentModalViewController 呼び出しを介して UINavigationController を表示し、下から上にスライドさせます。UIViewController の loadView メソッド内で、標準の self.view をセットアップし、背景の UIImageView を作成します。この背景が読み込まれますが、モーダル アニメーションが完了した後にのみ読み込まれます。私は以前にこの種のことを何度も行ったことがあり、この問題が一度発生したことを覚えていますが、私の「魔法の」解決策が何であったかを一生見つけることができません.
私のコードは以下の通りです:
PhotoVideoViewController *photo = [[PhotoVideoViewController alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:photo];
NSLog(@"start present modal view controller");
[self.navigationController presentModalViewController:nav animated:YES];
[photo release];
[nav release];
PhotoVideoViewController ロードビュー:
- (void)loadView {
UIView *myview = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.view = myview;
[myview release];
NSLog(@"background loading");
UIImageView *background = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background-main.png"]];
background.frame = CGRectMake(0, -45, 320, 480);
[self.view addSubview:background];
[background release];
}
「現在のモーダルビューコントローラーを開始する」は、「バックグラウンドロード」ログが表示される前にログに表示され、明らかに何かが間違っていることを示しています。[フォトリリース]を入れてみました。presentModalViewController の前ですが、問題は解決しません。
ここでも調査を行いましたが、他の投稿はどれも私の問題に答えていません:
presentModalViewController を使用した UINavigationController
UINavigationController と presentModalViewController
- これらはどちらも、UIViewController を含むモーダル画面として UINavigationController を使用する適切な方法に適用されます。
どんな助けでも大歓迎です。私はいくつかの順列を試しましたが、途方に暮れています。それは正しい順序である必要がありますが、コードで完全な順序が得られていないことは明らかです。
前もって感謝します!
J