我想显示一个NSWindow
在辅助监视器上全屏显示情节提要中创建的。以下代码导致窗口显示在主屏幕/主屏幕上。 Y 原点没问题,但 X 原点是 0,它应该是 -1680。下面的代码在优胜美地之前有效。
NSScreen *screen = [[NSScreen screens] objectAtIndex:2];
NSRect mainDisplayRect = [screen frame];
[PresenterWindow setFrame: mainDisplayRect display:YES animate:YES];
[PresenterWindow makeKeyAndOrderFront:sender];
[PresenterWindow setLevel: CGShieldingWindowLevel()];
我还尝试了以下方法,得到了相同的结果:
[[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, [screen frame].size.width, [screen frame].size.height)
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO
screen:screen];
请告诉我如何解决这个问题。
我尝试过其他一些问题的解决方案:
-
Cocoa 在第二个屏幕上打开全屏窗口,保持应用程序在第一个屏幕上可见 https://stackoverflow.com/questions/15414099/cocoa-open-a-fullscreen-window-on-the-second-screen-maintaining-the-app-visible- 不起作用 - 结果相同。
-
使用 Cocoa 在辅助显示器上全屏显示 os x 窗口 https://stackoverflow.com/questions/401240/display-os-x-window-full-screen-on-secondary-monitor-using-cocoa- 不 - 都不与
enterFullScreenMode:withOptions:
NSView 的方法。
我有一些新的观察:
如果我在故事板中激活“启动时启动”NSWindow
该窗口在我的辅助显示器上全屏显示。如果我然后做一个orderOut
并运行上面的代码,窗口将以正确的大小查看,但在我的主/主屏幕上。窗口未激活为“关闭时释放”。因此,当我停用“启动时启动”时,会再次在主屏幕/主屏幕中查看窗口,并具有辅助屏幕的大小。
几天后我开始工作:
故事板中的 NSWindow 标记为“启动时启动”
在 applcationDidFinishLaunching 中我写了以下内容:
[PresenterWindow setLevel: NSNormalWindowLevel];
[PresenterWindow orderOut:self];
要打开全屏,我使用了这个:
NSScreen *screen = [[NSScreen screens] objectAtIndex:1];
NSRect mainDisplayRect = [screen frame];
[PresenterWindow setFrame: mainDisplayRect display:YES animate:YES];
[PresenterWindow setLevel: CGShieldingWindowLevel()];
[PresenterWindow makeKeyAndOrderFront:screen];
要关闭全屏并能够再次正确打开全屏:
[PresenterWindow setLevel: NSNormalWindowLevel];
[PresenterWindow orderOut:(sender)];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)