【发布时间】:2012-08-24 08:15:27
【问题描述】:
当主窗口进入全屏模式时,我正在尝试让 NSPanel 填充第二个监视器。
我将面板上的“全屏”设置为“辅助窗口”,它会留在屏幕上,我可以手动将它拖到另一台显示器上,这很好。但是,如果我尝试以编程方式执行此操作,它会移动到另一个空间(尽管它在正确的屏幕上被最大化)。
-(void)windowDidEnterFullScreen:(NSNotification *)notification
{
NSLog(@"Now in full screen");
NSArray *screens = [NSScreen screens];
for (NSScreen *screen in screens) {
if ([self.window.screen isEqualTo:screen]) {
NSLog(@"Main Window assigned to screen:%@",screen);
} else {
NSLog(@"Assigning auxPanel to screen:%@",screen);
NSRect screenRect = screen.frame;
[self.auxPanel setFrame:screenRect display:YES];
}
}
}
提前致谢。
【问题讨论】:
-
有趣的是,如果我启用标题栏(在 NSPanel 上),上面的代码可以正常工作。如果我关闭面板上的标题栏,它会移动到另一个空间。
-
你好 skwashua。很抱歉在这里回复我自己的问题。但是,我想在这里提出我自己的问题,它指的是同一领域。我是新手,对这个功能非常新鲜。我要做的是,我的应用程序中有一个窗口。当用户进入全屏模式时,我想全屏打开一个新窗口,而不是我原来的单个窗口。所以,为此,我需要在这里做什么全屏选项有两个选项,主要和辅助。我将从对象列表中获取第二个窗口。但是,如何实现呢?
标签: objective-c macos nswindow