「私は5つのnibファイルを作成しましたが、それぞれ異なるウィンドウと各nibのクラスファイルを作成しました。私はあなたが5つの異なったウィンドウ(ビューではない)を持っていると仮定して、ボタンを押すときにそれを開きたいと思います。
各ウィンドウのnibファイルは、NSWindowController
(MVCのC)によって制御されます。 nibファイルを実際にロードするには(プログラムで)、NSWindowController
を割り当てます。 OS XのNSWindowController
はiPhoneのUIViewController
に匹敵します。
NSWindowController *controller = [[NSWindowController alloc] initWithWindowNibName:@"nib1"]
NSWindowControllerが管理するウィンドウを開いたり閉じたりできます。
[controller showWindow:nil]
は、窓の鍵窓にするウインドウ
[controller.window makeKeyAndOrderFront:self]
を表示します。
これは、同じウィンドウを維持するが、そのウィンドウのコンテンツビューを切り替えることです。その場合は、ウィンドウを持たない(ウィンドウが冗長になるため)ビューを含むファイル(ウィンドウをロードするのにNSViewControllerを使用する)が必要です。
しかし、あなたはcontentViewを置き換えるために、窓に固執しても:
[currentWindow setContentView:[newWindowController.window contentView]];
Windows、ビュー、アプリケーションでAppleが提供しているすべてのドキュメントをお読みください。
「新しいビューを開く」と言ったら、「新しいウィンドウを開く」という意味ですか? – Vervious
現在のnibを閉じて別のものを開いて前後に切り替えるのと同じように... – Cristian
現在のウィンドウを閉じて新しいウィンドウを開くか、コンテンツビューを切り替えますか?ペン先はウィンドウやビューのいずれかを表すことができるので、あなたが何を意味するのかは分かりません。 – Vervious