2016-12-08 3 views
0

ここではかなりシンプルなアイデアは、すべてのNSWindowsをアプリに表示したいのですが。アイデアには、アプリ内に2つのウィンドウがあり、1つは隠されていて、もう1つはぼやけているということです。私は、アプリケーション内のすべてのウィンドウを表示し、1つを非表示にしたい。私は非表示にしたいウィンドウを隠すことができますが、ウィンドウを表示することはできません。ウィンドウを参照することができないからです。しかしNSWindowsをすべて表示

NSArray *windowArray = [NSApp windows]; 
[windowArray[0] makeKeyAndOrderFront:self]; 
[NSApp activateIgnoringOtherApps:YES]; 

を使用しようとすると動作し、またしていません[NSAppウィンドウ]私は使用することができ、とにかくそれを反復処理し、それらまたは類似した何かを隠し、その後、アプリ内のすべてのnswindowsのリストを取得するがあります:

NSArray *windowArray = [NSApp windows]; 
NSWindow *tempWindow = windowArray[0]; 
[tempWindow makeKeyAndOrderFront:self]; 
[NSApp activateIgnoringOtherApps:YES]; 

+0

xibファイルを持っているか、ウィンドウコントロールレット+ビューコントローラを持ってウィンドウを格納しているかによって異なります。複数のxibファイルやストーリーボードがあるかどうかは不明です。 –

+0

2つのnswindowsを持つ単一のnibファイル(これはxcode 2.5)を使用しています – Jobalisk

+0

私は、windowArrayには実際にxibファイル内の既存のすべてのウィンドウへの参照が含まれていると仮定します。次に、それは何かのようなものではないでしょうか? (NSWindow *はwindowArrayで勝ちます){ [win setIsVisible = YES]; } ?私はもはやObjective-Cを書いていないので、私は自分自身でそれをテストしません。 –

答えて

0

私はちょっとばかげていました。私は、それぞれが1つのウィンドウを実行する2つの浸透率コントローラオブジェクトを持っていました。私はそのオブジェクトを別のオブジェクトで処理していたので、そのオブジェクトを削除して、最初のコントローラオブジェクトで両方のウィンドウを処理しました。問題が解決しました。

関連する問題