2012-04-17 2 views
3

어떤 버튼을 눌렀는지에 따라 두 개의 창을로드하는 애플리케이션이 있습니다. 이 중 하나를 제외하고 모두 메인 스크린 (메인 윈도우가 열려있는 스크린)에서 열립니다. 그 중 하나 (환경 설정 윈도우)는 첫 번째 화면 (메뉴 막대가있는 화면)에서 열립니다. NSWindow가 열리는 화면을 변경하는 방법이 있습니까?NSScreen을 변경하는 방법 NSWindow가 나타나는 방법

답변

4

toohtik의 답변을 얻지 못했습니다. 내가 끝낸 것은 NSWindow를 서브 클래 싱 한 다음 constrainFrameRect : toScreen :을 재정의하는 것이 었습니다. 이렇게하면 응용 프로그램의 "기본 화면"에 새 창이 자동으로 열립니다.

- (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen 
{ 
    AppDelegate *delegate = [[NSApplication sharedApplication] delegate]; 
    return [super constrainFrameRect:frameRect toScreen:delegate.window.screen]; 
} 
+0

완전히 나를 위해 일했습니다! 좋은 해결책! –

1

왜 그런 행동을하는지 모르지만 NSScreen 인수를 사용하는 initWithFrame 메서드를 통해 변경할 수 있습니다.