2012-01-04 93 views
1

我想要一個NSWindow,它在打開時具有2:1的寬高比,但允許它在全屏時具有任何比例。什麼時候應該調用setContentAspectRatio?

我最初設定的含量比在AppDelegate這樣的:

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

,然後設置,並在窗口的NSWindowDelegate這樣的恢復是:

- (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:

相關問題