“应用程序是代理”在 Swift 中不起作用

问题描述 投票:0回答:2

我正在用 Swift 开发一个状态栏应用程序。我尝试通过添加

Application is agent (UIElement)
项目并将其设置为
YES
来隐藏窗口,但它不起作用 - 它始终显示窗口和菜单栏。

我的故事板:

enter image description here

信息.plist:

enter image description here

我能做什么?

macos swift osx-yosemite
2个回答
0
投票

“目标 -> 信息 -> Curstom macOS Appli.. : 应用程序是代理 (UIElement)”选项仅从 Dock

隐藏应用程序

要隐藏 SwiftUI 上的窗口,您需要更改应用程序场景:

var body: some Scene {
    Settings{
        EmptyView()
    }
}

或者您可以更改 ApplicationDelegate

func applicationDidFinishLaunching(_ notification: Notification) {
    if let window = NSApplication.shared.windows.first {
        window.close()
    }
    ...
 }

-1
投票

使用标题、图像、备用图像等配置您的 NSStatusBar,您将在系统的状态栏中看到它。

    let statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(NSVariableStatusItemLength)

    statusItem.button?.title = "LG"
    statusItem.button?.image = NSImage(named: "LGIcon")
    statusItem.button?.alternateImage = NSImage(named: "LGIcon")
© www.soinside.com 2019 - 2024. All rights reserved.