NSRect大小以填充屏幕

3

如何在xcode中获取屏幕的当前尺寸,以便根据分辨率调整NSRect大小,使其最大化或占据整个屏幕?我需要添加什么?是需要添加到NSWindow吗?

 NSRect panelRect = [[self window] frame];
    panelRect.size.height = _HEIGHT;
    panelRect.size.width = _WIDTH;
    panelRect.origin.x = 0;
    panelRect.origin.y = 0;
    [[self window] setFrame:panelRect display:NO];

谢谢!

2个回答

3
您可以使用CGDisplayBounds,它返回一个包含屏幕边界(原点和大小)的CGRect,以全局坐标表示。
您可以使用CGDisplayRegisterReconfigurationCallback来通知显示配置更改,其中包括分辨率更改时的情况。 < p >Quartz Display Services Reference


1
你尝试过使用[[NSScreen mainScreen] frame]吗?如果你想要排除菜单栏,你可以从NSRect的高度中减去菜单栏的高度。(大约是20像素)
编辑:如果你想让你的窗口从一开始就被调整大小,你可以将上述方法放在你的控制器的awakeFromNib中,并使用NSWindow的setFrame:display:来调整它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接