Ben*_*Uri 3 cocoa interface-builder nswindow nswindowcontroller nswindowrestoration
我想将我的NSWindow大小设置为屏幕大小的函数.
Interface Builder中有一个选项可以将其设置为点,但不能作为屏幕大小的函数.
如何以编程方式将其设置为默认值?
请注意,如果此状态可用,我仍希望UI保留从之前的会话恢复其大小.
好吧,你可以获得屏幕的大小,只需应用一点数学就可以实现这个功能.将窗口的尺寸设置为屏幕尺寸乘以您希望窗口占据的屏幕百分比.更进一步,你可以这样做,并通过将其原点乘以(1-percentage)/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];
Run Code Online (Sandbox Code Playgroud)