2012-08-29 9 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]; 

을 그리고 충분히 잘 작동하는 것 같다.

관련 문제