NSWindow のサイズを画面サイズの関数として設定したいと思います。
Interface Builder にはポイント単位で設定するオプションがありますが、画面サイズの関数としては設定できません。
プログラムでデフォルトとして設定するにはどうすればよいですか?
そのような状態が利用可能な場合、UI の保存で以前のセッションのサイズを復元する必要があることに注意してください。
NSWindow のサイズを画面サイズの関数として設定したいと思います。
Interface Builder にはポイント単位で設定するオプションがありますが、画面サイズの関数としては設定できません。
プログラムでデフォルトとして設定するにはどうすればよいですか?
そのような状態が利用可能な場合、UI の保存で以前のセッションのサイズを復元する必要があることに注意してください。
さて、画面のサイズを取得し、それにちょっとした計算を適用してこれを機能させることができます。ウィンドウのサイズを、画面のサイズにウィンドウが占める画面のパーセンテージを掛けた値に設定します。さらに一歩進んで、これを行い、ウィンドウの原点に (1-パーセント)/2.0 を掛けることで、ウィンドウを中央に保つことができます。
NSRect screenSize = [[NSScreen mainScreen] frame];
CGFloat percent = 0.6;
CGFloat offset = (1.0 - percent) / 2.0;
[self.window setFrame:NSMakeRect(screenSize.size.width * offset, screenSize.size.height * offset, screenSize.size.width * percent, screenSize.size.height * percent) display:YES];