2012-01-04 29 views
1

開いている間に2:1の幅と高さの比を持つNSWindowを持っていますが、フルスクリーンのときにはどの比率でも使用できるようにしたいと思います。いつsetContentAspectRatioを呼び出す必要がありますか?

私は当初、このような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)];  
} 

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

し、ウィンドウのNSWindowDelegateこのようにそれを設定し、復元私はAppDelegateがウィンドウサイズを設定するのに適切な場所であるとは確信していません。私はwindowDidLoad:の行に沿ったウィンドウデリゲートのメソッドを探してみましたが、どちらが適用されるのか分かりません。理想的には、コンテンツの割合を1か所に設定するだけです。

私はこのようなウィンドウごとの初期化コードをどこに置くのですか?

答えて

0

windowControllerを使用するときれいになる場合があります(デフォルトを使用している場合はサブクラスを作成してください)。あなたはそれをあなたのウィンドウの代理人にして(そして、あなたが持っている入り口/出口コードを入れて)、windowDidLoadでウィンドウの初期サイズを制御します:

関連する問題