6

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

ユーザーインターフェイスはプログラムで作成されています(つまり、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];

}

よろしくお願いします!

4

1 に答える 1

10

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

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

于 2013-04-16T01:05:36.803 に答える