gpt4 book ai didi

macos - 进入全屏模式时显示 NSToolbar

转载 作者:行者123 更新时间:2023-12-03 16:10:25 26 4
gpt4 key购买 nike

我正在开发一个应用程序,用户可以使用按钮显示/隐藏工具栏。问题如下:如果用户选择隐藏工具栏然后进入全屏模式,则会显示工具栏。

用户界面已通过编程方式创建(即不使用 Interface Builder)。

这是应用程序委托(delegate)中的工具栏创建:

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];
}

我尝试使用窗口委托(delegate)方法修复它,但进入全屏模式时仍然会显示工具栏,无论 editing 的值如何。

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

}

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

}

非常感谢!

最佳答案

当窗口全屏显示时,我找不到保持工具栏隐藏/显示状态的方法,但您可以将工具栏设置为在全屏显示时始终隐藏,并在用户转到窗口时以动画方式显示屏幕顶部。在窗口委托(delegate)中,您可以设置 NSApplicationPresentationOptions 以返回 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

关于macos - 进入全屏模式时显示 NSToolbar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9263573/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com