4

押されたボタンに応じていくつかのウィンドウをロードするアプリケーションがあります。これらの 1 つを除くすべてが mainScreen (メイン ウィンドウが開いている画面) で開きます。そのうちの 1 つ (設定ウィンドウ) が最初の画面 (メニュー バーのある画面) で開きます。NSWindow が開く画面を変更する方法はありますか?

4

2 に答える 2

5

私はトゥーティックの答えを得ることができませんでした。私がやったことは、NSWindow をサブクラス化し、constrainFrameRect:toScreen: をオーバーライドすることでした。これにより、アプリケーションの「メイン画面」に新しいウィンドウが自動的に開きます。

- (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen
{
    AppDelegate *delegate = [[NSApplication sharedApplication] delegate];
    return [super constrainFrameRect:frameRect toScreen:delegate.window.screen];
}
于 2012-05-03T17:20:03.120 に答える
1

なぜそのような振る舞いをするのかわかりませんが、NSScreen 引数を取る initWithFrame メソッドで変更できます。

于 2012-04-20T20:25:41.840 に答える