어떤 버튼을 눌렀는지에 따라 두 개의 창을로드하는 애플리케이션이 있습니다. 이 중 하나를 제외하고 모두 메인 스크린 (메인 윈도우가 열려있는 스크린)에서 열립니다. 그 중 하나 (환경 설정 윈도우)는 첫 번째 화면 (메뉴 막대가있는 화면)에서 열립니다. NSWindow가 열리는 화면을 변경하는 방법이 있습니까?NSScreen을 변경하는 방법 NSWindow가 나타나는 방법
3
A
답변
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];
}
1
왜 그런 행동을하는지 모르지만 NSScreen 인수를 사용하는 initWithFrame 메서드를 통해 변경할 수 있습니다.
완전히 나를 위해 일했습니다! 좋은 해결책! –