在全屏模式下NSPanel到辅助屏幕

时间:2012-08-29 16:43:04

标签: objective-c macos nswindow

当主窗口进入全屏模式时,我试图让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];
        }
    }
}

提前致谢。

1 个答案:

答案 0 :(得分:0)

我不确定为什么需要启用标题栏,但我刚刚添加:

[self.auxPanel setStyleMask:NSBorderlessWindowMask];

它似乎运作良好。