2015-02-07 3 views
1

보조 모니터에서 스토리 보드 전체 화면으로 만든 NSWindow을 표시하고 싶습니다. 아래 코드는 주 화면/주 화면에 창을 표시합니다. Y 원점은 괜찮지 만 X 원점은 -1680이어야합니다. 아래 코드는 요세미티 이전에 작동했습니다.보조 화면에 NSWindow 표시

[[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, [screen frame].size.width, [screen frame].size.height) 
          styleMask:NSBorderlessWindowMask 
           backing:NSBackingStoreBuffered 
           defer:NO 
           screen:screen]; 

내가이 문제를 해결할 수있는 방법을 알려 주시기 바랍니다 :

NSScreen *screen = [[NSScreen screens] objectAtIndex:2]; 
NSRect mainDisplayRect = [screen frame]; 
[PresenterWindow setFrame: mainDisplayRect display:YES animate:YES]; 
[PresenterWindow makeKeyAndOrderFront:sender]; 
[PresenterWindow setLevel: CGShieldingWindowLevel()]; 

나는 또한 같은 결과 다음과 같은 시도했다. 다른 질문에서

내가 해봤 솔루션 :

나는 몇 가지 새로운 관찰을 가지고있다. 그런 다음 orderOut을 실행하고 위의 코드를 실행하면 올바른 크기가 아니라 기본/기본 화면이 표시됩니다. 창은 "닫을 때 해제"로 활성화되지 않습니다. 따라서 "시작시 시작"을 비활성화하면 보조 화면의 크기와 함께 주/기본 화면에서 다시 창을 볼 수 있습니다.

+0

에 주문하기 전에 윈도우 레벨을 설정하십시오 문제가 해결되지 않으면,'무시 -constrainFrameRect보십시오. toScreen :'다만하여 전달을 반환 rect에. –

+0

켄 고맙습니다.하지만 도움을받지 못했습니다. 스토리 보드에서 NSWindow에 대해 "Visible At Launch"를 활성화하면 작동한다는 것을 알게되었습니다. 그런 다음 프로그래밍 할 수있는 창을 주문한 경우 다음 번에 처음 스크립트를 실행하면 다시 잘못되었습니다. – MaxKlinge

답변

0

내가 가진 몇 일 후에 작동하는 님의

[PresenterWindow setLevel: NSNormalWindowLevel]; 
[PresenterWindow orderOut:self]; 

:

스토리 보드의 NSWindow 표시가 applcationDidFinishLaunching에서

"시작에서 실행"으로 표시되었다

내가 다음을 썼다 전체 화면 열기 나는 이것을 사용 :

NSScreen *screen = [[NSScreen screens] objectAtIndex:1]; 
NSRect mainDisplayRect = [screen frame]; 
[PresenterWindow setFrame: mainDisplayRect display:YES animate:YES]; 
[PresenterWindow setLevel: CGShieldingWindowLevel()]; 
[PresenterWindow makeKeyAndOrderFront:screen]; 

전체 화면 닫기 EN 다시 제대로 전체 화면을 열 수 있도록 :

[PresenterWindow setLevel: NSNormalWindowLevel]; 
[PresenterWindow orderOut:(sender)];