2014-02-18 3 views
2

저는 Mac 응용 프로그램 개발에있어 Cocoa를 처음 사용합니다. 나는 윈도우/뷰 크기가 무엇인지 혼란 스럽다. iOS 앱에서와 마찬가지로 우리는 최신 iPod뿐만 아니라 작은 iPod을위한 적절한 치수를 가지고 있습니다. 그러나 Cocoa App에서 크기를 설정하는 방법.Mac 응용 프로그램의 창 크기

또한 배치 대상을 AutoLayout을 지원하지 않는 OS X 10.6으로 설정하고 싶습니다.

그래서 모든 데스크탑에 맞는 창 크기를 조정하는 좋은 방법은 무엇입니까?

+0

창 크기 및 배포 대상은 서로 다른 두 가지 주제입니다. –

답변

1

iOS 기기의 프로그래밍과 너무 흡사하지 마십시오. OS X에서 사용자는 서로 화면 옆에 여러 개의 창을 표시 할 수 있습니다. 그는 앱의 작업에 따라이를 수행하려고 할 수 있습니다.

모든 객체가 내부에 들어갈 수 있도록 창을 디자인해야합니다. 이를 바탕으로 최소 크기와 최대 크기를 설정할 수 있습니다. 가장 작은 화면 해상도는 약 1200 x 700이므로 고려해야 할 최소 크기는이를 초과하지 않아야합니다.

autolayout 전에 개체 크기 조정 방법이나 크기 조정 창 프레임을 지정하는 방법을 정의하는 "스프링 & 스트럿"방법이있었습니다.

앱을 aper 또는 그래픽 도구로 레이아웃 한 다음 필요한 공간을 확인하는 것이 좋습니다. 최소 해상도보다 더 많은 공간이 필요한 경우, 스크롤 창, 분할보기 또는 이와 유사한 방법을 사용하여 인터페이스가 다른 창 크기에서 작동하도록해야합니다.

많은 유용한 정보는 OS X HIG에서 가져올 수 있습니다.

5

당신이 OS X를

먼저 아래 표시 창 크기를 조정할 때 고려해야 할 몇 가지가 있습니다, 표시 영역의 크기가있다.

NSRect frame = [[NSScreen mainScreen] frame]; 

사용할 수 있지만 사용자가 Dock을 표시하고 거의 항상 메뉴 막대가 표시되기 때문에 조금 단순합니다. 따라서 데스크톱의 최대 디스플레이 영역을 결정하는 더 좋은 방법은 메뉴 막대와 Dock을 고려한

NSRect frame = [[NSScreen mainScreen] visibleFrame]; 

입니다.

다른 사람들이 지적했듯이이 사각형은 드물게 창에 가장 이상적인 크기입니다. 사용자가 여러 개의 디스플레이를 가질 수 있고 창을 표시 할 수있는 총 영역에 기여하기 때문에이 사각형은 시작 지점 일뿐입니다. 그러나 새 창을 표시 할 때 항상이 사각형 내에서 시작됩니다. 이것을 확인하기 위해 NSScreen의 문서를보십시오. 위의 방법은 여러분의 이해를위한 발판을 제공 할 것입니다.

윈도우를 어떻게 만들고 사용할 것인지 잘 모르겠지만 가장 간단한 응용 프로그램을 제외하고는 NSWindowController의 서브 클래스를 사용하게 될 것입니다. 그렇다면 귀하의 창 대표가 될 것입니다. 그래서 당신이 그것을에서 구현해야하는 중요한 윈도우 위임 방법이고, 그것은이있다 :

- (NSRect)windowWillUseStandardFrame:(NSWindow *)window defaultFrame:(NSRect)newFrame 

이것은 당신이 당신의 윈도우의 프레임의 '표준'위치와 크기를 결정하는 곳입니다. 윈도우가 "표준 상태"(사용자가 만든 크기 인 "사용자 상태"와 비교하여)로 확대 될 때 창에 의해 호출됩니다.즉, 창 내용에 가장 잘 맞는 사각형이지만 아직 표시 할 수있는 '안전한'영역을 나타내는 사각형을 기억하고 있어야합니다. 불행히도 코드 작성 방법을 정확히 말할 수는 없습니다. 왜냐하면 코드를 전적으로 윈도우 내부에 표시하는 것에 달려 있기 때문입니다.

'적절한'의 정의가 iOS의 것과 완전히 다른 것을 볼 수 있습니다. 최선을 다해 귀하의 노력을 기원합니다.

관련 문제