3

アニメーションが始まるに表示されるモーダル 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

4

1 に答える 1

1

問題を解決しました - 単純な間違い。背景が設定されていましたが、「png」ではなく「jpg」を使用していました ;) 悲しいことに、これに多くの時間が無駄になりました。それはいつも私を得るタイプミスです。

于 2011-10-17T15:53:43.983 に答える