0

現在の NSWindowController で、子ウィンドウ (mainViewController.window) を追加し、現在のウィンドウを閉じますが、メソッド [self.window close] が呼び出されると、アプリは終了します (メソッド windowWillClose からログ メッセージを取得できるため、クラッシュしません)。 ;

[self.window addChildWindow:mainViewController.window ordered:NSWindowAbove];
[self.window close];

私が欲しいのは、新しいウィンドウが表示されたときに現在のウィンドウを閉じることです。私のやり方は間違っていますか?

=================================== 更新 ============== ======================

ありがとう@rdelmar、私の間違い、アプリは終了せず、すべてのウィンドウが閉じられました。

[self.window orderFront:mainViewController.window];
[self.window close];
4

1 に答える 1

1

別のウィンドウを開いたときに 1 つのウィンドウを閉じたい場合、その 2 番目のウィンドウを最初のウィンドウの子にしないでください。子ウィンドウの親ウィンドウを閉じると、子ウィンドウも閉じます。コードで新しいウィンドウを作成し、 orderFront または makeKeyAndOrderFront: を使用して画面に表示し、他のウィンドウを閉じることができます。IB に別のウィンドウを追加して、Visible At Launch のチェックを外して、上記のメソッドのいずれかを呼び出したときにのみ表示されるようにすることもできます。

于 2012-07-24T04:13:34.187 に答える