我在MacOS上用SwiftUI创建了一个非常简单的应用程序。默认情况下有一个菜单项show tab bar
。我如何删除它?我没有意义在这个应用程序中有标签。
我发现下面的代码回答了同样的问题,但适用于旧版本的Swift,而不是SwiftUI:How do I disable the Show Tab Bar menu option in Sierra apps?
我在MacOS上用SwiftUI创建了一个非常简单的应用程序。默认情况下有一个菜单项show tab bar
。我如何删除它?我没有意义在这个应用程序中有标签。
我发现下面的代码回答了同样的问题,但适用于旧版本的Swift,而不是SwiftUI:How do I disable the Show Tab Bar menu option in Sierra apps?
5条答案
按热度按时间wtlkbnrh1#
感谢@JuJoDi
如果您使用SwiftUI生命周期(
Scene
),您可以执行以下操作:字符串
afdcj2ne2#
SwiftUI中的等价物与Swift中的等价物是一样的(由于某种原因,在那篇文章中没有提到)。要从应用程序的任何窗口中完全删除这些项目,可以在应用程序委托中将布尔值allowsAutomaticWindowTabbing设置为false
字符串
kgsdhlau3#
我也在寻找这个问题的答案,并发现了以下几点:
默认情况下-正如你已经提到的-显示/隐藏选项卡是活动的:
x1c 0d1x的数据
NSWindow
上有一个名为tabbingMode
的属性,它允许我们通过将其设置为.disallowed
来控制。但我的问题是:在SwiftUI 2生命周期应用中,我如何才能获得应用的窗口?好吧,有
NSApplication.shared.windows
,所以我的第一次(不工作!!)尝试是修改我的@main
-App结构中的所有窗口(因为我已经阻止了新窗口的创建,这应该足够了):字符串
不幸的是,这不起作用,因为
.onAppear
中的NSApplication.shared.windows
是空的。我的下一步是在我的SwiftUI 2生命周期中引入一个AppDelegate,它实现了
applicationDidFinishLaunching(_:)
...型
.并将此AppDelegate引入应用程序:
型
这对我来说是一个诡计:
的
虽然我更希望完全删除菜单项,但这至少可以防止用户拥有OP所要求的选项卡。
如果任何人碰巧知道一个解决方案来隐藏这些条目,请让我们知道。我找不到一个
CommandGroupPlacement
,代表这些菜单.y1aodyip4#
在阅读本文后,我发现了如何删除“编辑”菜单项
https://steipete.com/posts/top-level-menu-visibility-in-swiftui/
字符串
nvbavucw5#
2023,swiftUI 2及更高版本
导致发布构建:
x1c 0d1x的数据
看看有评论的地方“这里”:
字符串
以及SwiftUI中理解菜单的方法+奖金
型
对于那些无法通过上述方式删除的项目,您需要使用类似的东西:
(BUT!重要的是要明白,这种方式只适用于英语本地化)
型