1

アプリケーションの中心となるメイン ウィンドウがあります。さまざまな機能について、特定の特殊な機能を処理する子ウィンドウを開きます。すべてのウィンドウを個別に移動したいのですが、現在、元の中央のウィンドウを移動すると、それらの子ウィンドウもすべて移動します。親と一緒に移動しないように、子ウィンドウを切断するにはどうすればよいですか?

4

2 に答える 2

4

ウィンドウを移動する前に子を一時的に削除してから、元に戻します。

- (void)windowWillMove:(NSNotification *)notification;
{
    [window removeChildWindow:child];
}

- (void)windowDidMove:(NSNotification *)notification
{
    if (![window inLiveResize])
            [window addChildWindow:child ordered:NSWindowAbove];
}

または、 NSWindowAbove の順序付けが必要ない場合は、最初から子にしないでください:)

于 2011-10-05T07:31:20.687 に答える
0

子ウィンドウとして追加せずに子ウィンドウを表示できる別の方法ですが、ウィンドウのレベル内で同じ動作を実現します。

[self.childWindowController showWindow:self];
[self.childWindowController.window setLevel:NSSubmenuWindowLevel];

この方法が正しいかどうかはわかりませんが、私にとってはうまくいきます。

于 2013-08-27T20:38:03.337 に答える