Lion 全屏菜单栏不向下滑动

Posted

技术标签:

【中文标题】Lion 全屏菜单栏不向下滑动【英文标题】:Lion Full Screen menu bar doesn't slide down 【发布时间】:2011-08-10 07:30:04 【问题描述】:

我有一个没有边框、标题栏、按钮等的小窗口。我想支持全屏模式(新的 Lion 类型),而且我基本上已经完成了所有工作——我可以切换进出全屏模式和窗口自行调整大小等,没问题。

但是,当我将鼠标移动到屏幕顶部时,带有关闭全屏模式图标的菜单栏不会向下滑动。

我如何让它发挥作用?它是关闭风格面具的吗?还有什么?

【问题讨论】:

添加标题栏时行为会改变吗? 尝试将标题栏添加回原始窗口(以及关闭按钮、可调整大小的蒙版等),但没有效果:( 我认为全屏在其他应用程序中正常工作?你在这个应用程序中对事件处理做了什么奇怪的事情吗? 啊哈,关键在你为- (NSApplicationPresentationOptions)window: (NSWindow *)window willUseFullScreenPresentationOptions: (NSApplicationPresentationOptions)proposedOptions返回的内容中需要在返回值中添加NSApplicationPresentationAutoHideMenuBar | NSApplicationPresentationHideDock。嘎嘎。 【参考方案1】:

啊哈,关键在于你的回报

 - (NSApplicationPresentationOptions)window: (NSWindow *)window willUseFullScreenPresentationOptions: (NSApplicationPresentationOptions)proposedOptions

除了NSApplicationPresentationFullScreen之外,还需要在返回值中添加NSApplicationPresentationAutoHideMenuBar | NSApplicationPresentationHideDock

【讨论】:

【参考方案2】:

要在 Lion 中使用全屏模式,您唯一需要做的就是在窗口上调用 ‑setCollectionBehavior: 并传入 NSWindowCollectionBehaviorFullScreenPrimary

你不需要做任何其他事情。除非您的目标是 10.6 或更早版本,否则不需要所有 kiosk 模式的东西。

【讨论】:

原来你还需要为窗口委托设置演示选项…… 不。尝试一下。使用标准模板创建一个应用程序,然后在applicationDidFinishLaunching: 中调用[window setCollectionBehavior: NSWindowCollectionBehaviorFullScreenPrimary]。无需执行任何其他操作,菜单栏和停靠栏都可用。 人力资源部。发生了一些奇怪的事情,因为我正是这样做的,但它没有出现。我正在使用一个没有标题栏或按钮或任何东西以及非标准形状的透明窗口。在我将这两个常量值添加到委托方法之前,我这辈子都无法让系统菜单栏降下来……

以上是关于Lion 全屏菜单栏不向下滑动的主要内容,如果未能解决你的问题,请参考以下文章

chrome状态栏和菜单的字体怎么调?

如何在导航栏菜单中实现平滑的向下滑动效果

如何在swift / SwiftUI中为滑动手势设置菜单栏图标的操作

保持固定菜单栏不重叠

菜单栏不工作

Python Tkinter 菜单栏不显示