당신이 OS X를
먼저 아래 표시 창 크기를 조정할 때 고려해야 할 몇 가지가 있습니다, 표시 영역의 크기가있다.
NSRect frame = [[NSScreen mainScreen] frame];
사용할 수 있지만 사용자가 Dock을 표시하고 거의 항상 메뉴 막대가 표시되기 때문에 조금 단순합니다. 따라서 데스크톱의 최대 디스플레이 영역을 결정하는 더 좋은 방법은 메뉴 막대와 Dock을 고려한
NSRect frame = [[NSScreen mainScreen] visibleFrame];
입니다.
다른 사람들이 지적했듯이이 사각형은 드물게 창에 가장 이상적인 크기입니다. 사용자가 여러 개의 디스플레이를 가질 수 있고 창을 표시 할 수있는 총 영역에 기여하기 때문에이 사각형은 시작 지점 일뿐입니다. 그러나 새 창을 표시 할 때 항상이 사각형 내에서 시작됩니다. 이것을 확인하기 위해 NSScreen
의 문서를보십시오. 위의 방법은 여러분의 이해를위한 발판을 제공 할 것입니다.
윈도우를 어떻게 만들고 사용할 것인지 잘 모르겠지만 가장 간단한 응용 프로그램을 제외하고는 NSWindowController의 서브 클래스를 사용하게 될 것입니다. 그렇다면 귀하의 창 대표가 될 것입니다. 그래서 당신이 그것을에서 구현해야하는 중요한 윈도우 위임 방법이고, 그것은이있다 :
- (NSRect)windowWillUseStandardFrame:(NSWindow *)window defaultFrame:(NSRect)newFrame
이것은 당신이 당신의 윈도우의 프레임의 '표준'위치와 크기를 결정하는 곳입니다. 윈도우가 "표준 상태"(사용자가 만든 크기 인 "사용자 상태"와 비교하여)로 확대 될 때 창에 의해 호출됩니다.즉, 창 내용에 가장 잘 맞는 사각형이지만 아직 표시 할 수있는 '안전한'영역을 나타내는 사각형을 기억하고 있어야합니다. 불행히도 코드 작성 방법을 정확히 말할 수는 없습니다. 왜냐하면 코드를 전적으로 윈도우 내부에 표시하는 것에 달려 있기 때문입니다.
'적절한'의 정의가 iOS의 것과 완전히 다른 것을 볼 수 있습니다. 최선을 다해 귀하의 노력을 기원합니다.
창 크기 및 배포 대상은 서로 다른 두 가지 주제입니다. –