2012-08-29 62 views
0

我想在主窗口進入全屏模式時讓NSPanel填充第二個顯示器。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]; 
     } 
    } 
} 

在此先感謝。

+0

有趣的是,如果我啓用標題欄(在NSPanel上),上面的代碼工作正常。如果我關閉面板上的標題欄,它將移動到另一個空間。 – skwashua

+0

你好skwashua。對不起,在這裏回到我自己的問題。 但是,我想在這裏提出我自己的問題,它涉及同一領域。 我是新來的,非常清新的功能。 我要做的是,我的應用程序中有一個窗口。當用戶進入全屏模式時,我想以全屏方式打開一個新窗口,而不是我擁有的原始單個窗口。 所以,爲此,我需要在這裏完成全屏幕選項,其中有兩個選項,主要和輔助。 我將從對象列表中獲取第二個窗口。但是,如何做到這一點? – Sid

回答

0

我不知道爲什麼標題欄需要啓用,但我只是說:

[self.auxPanel setStyleMask:NSBorderlessWindowMask]; 

,它似乎工作不夠好。