我创建了一个SideBar()类,该类使用各种按钮创建了一个NSView

我通过执行实例化我的sideBar()

func applicationDidFinishLaunching(_ notification: Notification) {
    sideBarView.setupSideBarView()
    sideBarView.menuButton.action = #selector(self.NewMenuButton(_:))

}
@objc func NewMenuButton(_ sender: NSButton) {

}


然后,在我的初始ViewController中,按以下方式显示AppDelegate

view.addSubview(sideBarView.getView())


通过按下menuButton,我希望App Delegate中的函数加载并使用ViewController呈现新的故事板视图。

能做到吗?
谢谢。

最佳答案

我为第二个ViewController提供了故事板ID,解决了该问题。
然后,通过AppDelegate函数:

 let storyboard = NSStoryboard(name: NSStoryboard.Name("Main"), bundle: Bundle.main)
 let mainPageController = storyboard.instantiateController(withIdentifier: "test") as! SecondViewController
 NSApplication.shared.mainWindow?.contentViewController = mainPageController

关于swift - cocoa 从AppDelegate快速加载ViewController和 Storyboard View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61175750/

10-13 07:43