0

私はいくつかのレガシー コードに取り組んでいる新しい iOS 開発者です。コードから、新しい画面を起動するには、次のことができることを学びました。

SomeViewController* view = [[SomeViewController alloc] initWithNibName:@"SomeViewController" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:view animated:YES];
[view release];

画面 A から画面 B を起動しています。さらに画面 B から画面 C を起動する必要があります。フローは A -> B -> C です。B->C を実行すると、アプリがフリーズし、画面は次のようになります。これ:

ここに画像の説明を入力

ただし、A->C を実行すると、完全に機能します。誰もこれを見たことがありますか?本当にありがとうございました。

4

1 に答える 1

1

より多くのコードを見ないと、真の問題が何であるかを判断するのは困難です。ただし、次の 2 つの問題に気付きました。

  1. ViewController を UINavigationController スタックにプッシュしているときに、ナビゲーション バーが表示されるのはよくあることです。スクリーン ショットにナビゲーション バーが表示されません。UINavigationController を埋め込む必要がある場合があります。
  2. これは、コメントの1つですでに言及されていました。UIView を UIViewController スタックにプッシュすることは未定義のアクションです。UIViewController をプッシュする必要があります。例えば:

    [self.navigationController pushViewController:myViewControllerForViewC アニメーション:YES];

于 2012-07-04T03:40:38.547 に答える