私は、このコードは、部分的に以下のようMyDocument.mでdisplayViewControllerを使用してViewControllersを交換するMyDocument.nibのポップアップメニューを使用していますMAC OS X用Hillegassの本のCocoaプログラミングからの眺めのスワッピングコードから始まりました。私はからdisplayViewControllerを呼び出すときIBは別のクラスのMyDocumentでNSBoxをインスタンス化しますか?
- (void)displayViewController:(ManagingViewController *)vc
curBox: (NSBox *)windowBox
{
// End editing
NSWindow *w = [windowBox window];
BOOL ended = [w makeFirstResponder:w];
if (!ended) {
NSBeep();
return;
}
...
私が午前問題がある:私は、テーブルを生成しているのViewControllerからMyDocument.mでdisplayViewControllerを呼び出すことによってViewControllersを交換するためのViewControllerでテーブルの行を使用する代わりにしようとしていますビューがMyDocument.mにNSBoxの内側に交換することができるように、私はInterface Builderを一緒に送信する必要があり、別のViewControllerはMyDocument.nibでNSBoxをインスタンス化。それでは、私は、別のViewControllerからMyDocument.nibのInterface Builderインスタンス化NSBoxにアクセスする必要があります。
誰もが別のViewControllerからMyDocument.nibにInterface BuilderのはNSBoxのインスタンスをアクセスする方法を知っていますか?
編集:
私はいくつかの進歩を遂げました。ビュー階層は次のとおりです。
Window
ContentView
NSBox
私は次のようにトップレベルのウィンドウと現在のContentViewを得ることができました:
NSWindow *w = self.view.window;
NSView *v = [w contentView];
が、私はまだ取得する方法を考え出したていませんContentView内にあるNSBox。私は以下を試したが、うまくいかなかった:
NSBox *b = [v container];
NSBox *b = [v content ];
誰でもアイデアはありますか?