如何删除 macOS SwiftUI App 中的“新窗口”选项?

Posted

技术标签:

【中文标题】如何删除 macOS SwiftUI App 中的“新窗口”选项?【英文标题】:How can i remove the "New window" option in macOS SwiftUI App? 【发布时间】:2021-12-12 11:28:17 【问题描述】:

I need to remove this option in my app

这是我的应用委托:

import AppKit
public class AppDelegate: NSObject, NSApplicationDelegate 
    public func applicationWillTerminate(_ aNotification: Notification) 
        MainViewModel.shared.saveSettings()
    
    public func applicationDidFinishLaunching(_ notification: Notification) 
        for window in NSApp.windows 
            var style = window.styleMask
            style.remove(.resizable)
            window.styleMask = style
            window.standardWindowButton(.zoomButton)?.isHidden = true
        
    
    public func applicationWillFinishLaunching(_ notification: Notification) 
        NSWindow.allowsAutomaticWindowTabbing = false
    

我该怎么做?

【问题讨论】:

请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。 【参考方案1】:

只需将 commands 修饰符添加到 WindowGroup,如下所示:

WindowGroup 
            MainView().frame(width: 300, height: 95)
        .commands 
            CommandGroup(replacing: CommandGroupPlacement.newItem) 
            
        

【讨论】:

以上是关于如何删除 macOS SwiftUI App 中的“新窗口”选项?的主要内容,如果未能解决你的问题,请参考以下文章