gpt4 book ai didi

swift - 应用程序关闭时重新启动 View

转载 作者:行者123 更新时间:2023-11-30 11:47:55 25 4
gpt4 key购买 nike

我正在为 Mac 创建一个带有设置 View 的状态栏应用程序。

我已经创建了一个 NSMenuItem 来启动设置,但我没有找到任何解决方案来启动此 View 。

我尝试过的:

NSWorkspace.shared().launchApplication("AppName")

StatusMenuController.swift

func showSettings() {

var mainWindow: MainWindowController!
mainWindow = MainWindowController()
mainWindow.showWindow(nil)
}

MainWindowController.swift

override func windowDidLoad() {
super.windowDidLoad()

self.window?.center()
self.window?.makeKeyAndOrderFront(nil)
NSApp.activate(ignoringOtherApps: true)
}

最佳答案

我看到很多情况下都会遇到这个问题,我找到了一个我不完全理解的解决方案,但我会尽力解释。

以下是 macOS 中文档的管理方式:

Document architecture in macOS

根据我的经验,在创建新的 Mac 应用程序时,您需要选中“创建基于文档的应用程序”复选框,以拥有 NSDocument 类(您也可以添加稍后)这将处理您的 View 如何显示或不显示。

将此 NSDocument 类添加到我的项目中可以使以下代码正常工作(以前不能):

let storyboard = NSStoryboard(name: "Main", bundle: nil)
var windowController: NSWindowController!
windowController = storyboard.instantiateController(withIdentifier: "ScanWindowController") as! NSWindowController
windowController.showWindow(nil)

关于swift - 应用程序关闭时重新启动 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48628895/

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