2012-02-13 8 views
4

ボタンを使用してツールバーを表示/非表示にできるアプリを開発しています。問題は次のとおりです。ユーザーがツールバーを非表示にしてからフルスクリーンモードにすると、ツールバーが表示されます。フルスクリーンモードに入るとNSToolbarが表示されます

ユーザーインターフェイスはプログラムによって作成されています(Interface Builderを使用していない)。

これは、アプリデリゲートのツールバーの作成です:

mainToolbar = [[NSToolbar alloc] initWithIdentifier:MAIN_TOOLBAR]; 
[mainToolbar setAllowsUserCustomization:NO]; 
[mainToolbar setDisplayMode:NSToolbarDisplayModeIconOnly]; 
[mainToolbar setDelegate:self]; 
[window setToolbar: mainToolbar]; 

これらは、ボタンによって実行されるアクションです:

-(void)hideToolbar { 
    editing = YES; 
    [mainToolbar setVisible:NO]; 
} 

-(void)showToolbar { 
    editing = NO; 
    [mainToolbar setVisible:YES]; 
} 

私は窓のデリゲートメソッドを使用して、それを修正しようとしたが、まだ持っていますeditingの値に関係なくフルスクリーンモードに入るとツールバーが表示されます。事前に

- (void)windowDidEnterFullScreen:(NSNotification *)notification { 
    [mainToolbar setVisible:!editing]; 

}

- (void)windowDidExitFullScreen:(NSNotification *)notification { 
[mainToolbar setVisible:!editing]; 

}

多くの感謝!

+0

あなたはそれが私があるため、同じ問題で苦しんでいます、可能性がどのように理解しました。 – mohacs

+0

いいえ、ごめんなさい! – Mariana

答えて

9

ウィンドウがフルスクリーンになったときに、ツールバーの非表示/表示状態を維持する方法が見つかりませんでしたが、ツールバーを常にフルスクリーンで非表示にして、ユーザーが移動したときにアニメーション表示するように設定できます画面の上部。ウィンドウデリゲートでは、NSApplicationPresentationOptionsを設定して、オプションの1つとしてNSApplicationPresentationAutoHideToolbarを返します。鉱山は、次のようになります。ここでは

- (NSApplicationPresentationOptions)window:(NSWindow *)window willUseFullScreenPresentationOptions:(NSApplicationPresentationOptions)proposedOptions 
{ 
    return (NSApplicationPresentationFullScreen |  
      NSApplicationPresentationHideDock |   
      NSApplicationPresentationAutoHideMenuBar | 
      NSApplicationPresentationAutoHideToolbar); 
} 

関連文書です:https://developer.apple.com/library/mac/#documentation/General/Conceptual/MOSXAppProgrammingGuide/FullScreenApp/FullScreenApp.html

+0

ありがとう – susemi99

関連する問題