UINavigationController
xib は 1 つの画面のみを表すため、ストーリーボードの場合と同じ方法で xib ファイルに aを設定する必要はありません。通常は alloc/init aUINavigationController
と aUIViewController
を実行し、View Controller を表示する前に Navigation Controller のルートとして設定します。アプリ全体を最初からナビゲーション コントローラーにラップする場合は、アプリ デリゲートでこれを行うことができます。
ストーリーボード以外のアプリのアプリデリゲートでは、次のようなものが必要です
self.navigation = [[UINavigationController alloc] initWithRootViewController:[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]];
[self.window makeKeyAndVisible];
self.window.rootViewController = self.navigation;
App Delegate に属するプロパティまたは iVarself.navigation
はどこにありますか。UINavigationController
ビュー コントローラーを xib で適切に設定する場合は、xib でルート ビューを選択し、属性インスペクター (RHS、小さな盾のように見えるもの) を開き、「トップ バー」で「ナビゲーション バー」を選択します。ドロップダウンメニュー。これにより、xib にナビゲーション コントローラーのトップ バーが表示されるので、それに応じて他のビューを配置できます。
編集
これは完全に正しいとは言えません。ナビゲーション コントローラーは xib ファイルで作成できますが、ビジュアル要素がほとんどなく、コードで非常に簡単に設定できるため、価値があるよりも手間がかかると常に考えていました。
このチュートリアルの詳細については、こちら
http://www.iosdevnotes.com/2011/03/uinavigationcontroller-tutorial/