多くの人が検索して試しましたが、2番目のウィンドウをアクティブにすることはできません。ウィンドウをアクティブにするには?
メインウィンドウがアクティブ化されている間、私は別のウィンドウを表示するために使用されるコード:
preferencesWindowController = (PreferencesWindowController*)[[NSWindowController alloc] initWithWindowNibName: @"Preferences"];
[preferencesWindowController showWindow: preferencesWindowController];
[[preferencesWindowController window] orderFrontRegardless];
[[preferencesWindowController window] makeKeyAndOrderFront: preferencesWindowController];
[NSApp activateIgnoringOtherApps:YES];
をデバッガを試した後は、私があるのはなぜ[preferencesWindowControllerウィンドウ]が
preferencesWindowController = (PreferencesWindowController*)[[NSWindowController alloc] initWithWindowNibName: @"Preferences"];
[preferencesWindowController showWindow: self];
NSWindow* window = [preferencesWindowController window]; //---> nil
nilであることがわかりそれはない?
nibファイルには、WindowおよびPreferencesWindowControllerが含まれています。
申し訳ありませんが、私はマルチニブを間違えて使用しています。私はこの例に従い、動作させます:http://maestric.com/doc/mac/cocoa/multiple_nibs。 nibにウィンドウコントローラを追加する代わりに、ファイルのオーナークラスをウィンドウコントローラに設定する。
nibファイルには、WindowおよびPreferencesWindowControllerが含まれています。 コードは役に立ちません。preferencesWindowControllerオブジェクトは、初期化後に0で埋められます。 – user486134
あなたはジムの答えの2番目の部分を読みましたか? File's Ownerからあなたのペン先の窓に窓のコンセントを接続しましたか? –
"また、実際には、ファイルの所有者のウィンドウコンセントをペン先のウィンドウに接続していることを確認してください。私の.xibには「File's Owner」があります。接続インスペクタで、ウィンドウに「新しい参照アウトレット」を選択できます。それはあなたが意味することですか?なぜそれが必要ですか?ウィンドウに永続的なリファレンスを作成すると、これに関係なく問題は解決されました。 – isgoed