2012-01-04 5 views
1

열려있는 동안 너비와 높이의 비율이 2 : 1 인 NSWindow를 갖고 싶지만 전체 화면 일 때 어떤 비율이든 허용합니다.언제 setContentAspectRatio를 호출해야합니까?

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification 
{ 
    [[self window] setContentAspectRatio:NSMakeSize(2, 1)]; 
} 

을 다음 설정하고 윈도우의 NSWindowDelegate이 같은이를 복원 :

내가 처음에이 같은 AppDelegate의 함량 비를 설정하고있어

나는이 작품 생각
- (void)windowWillEnterFullScreen:(NSNotification *)notification 
{ 
    NSWindow *window = [notification object]; 
    [window setContentResizeIncrements:NSMakeSize(1, 1)]; 
} 

- (void)windowDidExitFullScreen:(NSNotification *)notification 
{ 
    NSWindow *window = [notification object]; 
    [window setContentAspectRatio:NSMakeSize(2, 1)];  
} 

, 하지만 AppDelegate이 창 크기를 설정하기에 적합한 지 확신 할 수 없습니다. windowDidLoad: 라인을 따라 윈도우 위임에 대한 메소드를 찾으려고했지만 어떤 것이 적용되는지 알 수 없습니다. 이상적으로는 콘텐츠 비율을 한 곳에서만 설정하는 것입니다.

여기서 창 단위의 초기화 코드를 어디에 넣어야합니까?

답변

0

windowController를 사용하는 것이 더 깔끔할 수도 있습니다 (기본값을 사용하는 경우 서브 클래스를 작성하십시오). 당신은 윈도우의 델리게이트를 만들 것입니다 (그리고 당신이 가지고있는 입력/종료 코드를 넣으십시오). windowDidLoad에서 윈도우의 초기 크기를 조절하십시오 :