私は Mac OS プログラミングの初心者です。現時点では、上部にツールバーがあり、下部に適切なビューがある 1 つのウィンドウを持つ単純な測定アプリケーションを作成しようとしています。ツールバーの ボタンをクリックすると、その下のビューが切り替わります。たとえば、[接続] ボタンをクリックすると接続設定が表示され、[測定] にはデバイスからの現在のデータが表示されます。
問題は - ビューのスワッピングの処理方法がわからない、つまり、私が知っているが正確ではないことです...ここで同様の議論を見つけました: NSViewController and multiple subviews from a Nib but there is no answer to create how to create NSWindowControllerとそれをメイン ウィンドウに割り当てる方法。ビューを交換できるようにするには、 NSWindowController を作成する必要があると思います。私が間違っている場合は、私を修正してください。
だから私は新しいプロジェクト(ここではSampleと呼ばれる)を作成しています.SampleAppDelegate.hファイルは次のようになります:
@interface SampleAppDelegate : NSObject <NSApplicationDelegate> {
@private
NSWindow *window;
}
@property (assign) IBOutlet NSWindow *window;
@end
(私が思うに) MainMenu.xib から作成された唯一のウィンドウを保持するウィンドウ ivar があります。
では、SampleAppDelegate からウィンドウの NSWindowController を作成するにはどうすればよいでしょうか?
WindowController サブクラスを作成し、関数で (void)applicationDidFinishLaunching:(NSNotification *)aNotification of the SampleAppDelegate を次のように作成する必要があります。
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
MyWindowController *wc = [[MyWindowController alloc] initWithWindow:self.window];
[wc showWindow:self];
self.myWindowController = wc;
[wc release];
}
ヒントや助けにとても感謝しています。
マルシン