2

そこで、Xcode 3.2.5 で完全にビューベースの方法でアプリの開発を開始し、Xcode 4.4 にアップグレードしました。NIB ファイルは 1 つです (MainWindow.xib とデフォルトのビュー コントローラーの .xib の 2 つです)。私は今までpresentModalViewController.

問題は、これらのビューの 1 つをナビゲーション ベースにしたいということです。つまり、ユーザーがそれを入力すると、上部のナビゲーション バーが表示され、その時点以降に到達するすべての操作がナビゲーション コントローラーを介して行われます。そして、それらが完了して完全に取り消されると、通常の非ナビゲーション コントローラーを使用するビューに戻ります。

これはよくある質問のようで、誰も答えを完全に説明していません。それか、ビューベースのアプリケーションにナビゲーションコントローラーを追加する方法のような役立つと思われる応答のいずれか? 私には漠然としすぎています。UINavigationController私は基本的に、プロジェクトに を追加して、プロジェクト内のいくつかのビューのみを表示する方法の段階的な説明を探しています。

4

1 に答える 1

1

ビューが意図したとおりに動作している場合、ナビゲーション コントローラーをモーダル ビューに追加するのは非常に簡単です。

NewViewController *newView = [[NewViewController alloc] initWithNibName:@"NewViewController" bundle:nil];
UINavigationController *navView = [[UINavigationController alloc] initWithrootViewController:newView];
[self presentModalViewController:navView animated:YES];

モーダル ビューは、ナビゲーション バーと、そのモーダル内でより多くのビューを表示するためのすべての属性を継承します。モーダルを使い終わったら、それを閉じてください。

nav コントローラーの上にさらにビューをロードするのは非常に簡単です。

AnotherViewController *anotherView = [[AnotherViewController alloc] initWithNibName:@"AnotherViewController" bundle:nil];
[self.navigationController pushViewController:anotherView animated:YES];

ビュー コントローラをスタックから手動でポップするには:

// note, you won't need to call this for the auto created back button, that is handled for you
// this would only be if you wanted manual control over going back outside the back button
[self.navigationController popViewControllerAnimated:YES];

モーダル ビューの操作がすべて完了したら、どこからでもこれを呼び出して見えないようにし、元のビューに戻すことができます。複数の詳細画面、サインアップ プロセスなどに便利です。

[self.navigationController dismissModalViewControllerAnimated:YES];
于 2012-08-29T16:01:30.840 に答える