どのボタンが押されたかに応じていくつかのウィンドウをロードするアプリケーションがあります。これらの1つを除くすべてがメインスクリーン(メインウィンドウが開いている画面)で開きます。そのうちの1つ(環境設定ウィンドウ)が最初の画面(メニューバーのある画面)で開きます。 NSWindowが開く画面を変更する方法はありますか?NSScreenを変更する方法NSWindowが表示されます
3
A
答えて
4
toohtikさんの答えがうまくいかなかった。私がやったことは、NSWindowをサブクラス化し、constrainFrameRect:toScreen:をオーバーライドすることでした。これにより、アプリケーションの「メイン画面」に新しいウィンドウが自動的に開きます。
- (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen
{
AppDelegate *delegate = [[NSApplication sharedApplication] delegate];
return [super constrainFrameRect:frameRect toScreen:delegate.window.screen];
}
1
なぜあなたはその動作を持っているのかわかりませんが、NSScreen引数をとるinitWithFrameメソッドで変更できます。
完全に私のために働いた!良い解決策! –