swift - Cocoa 从 AppDelegate 快速加载 ViewController 和故事板视图
问题描述
我创建了一个SideBar()
类,它创建了一个NSView
带有各种按钮的类。
sideBar()
我AppDelegate
通过做实例化我的
func applicationDidFinishLaunching(_ notification: Notification) {
sideBarView.setupSideBarView()
sideBarView.menuButton.action = #selector(self.NewMenuButton(_:))
}
@objc func NewMenuButton(_ sender: NSButton) {
}
在我的初始 ViewController 中,我sideBar
以以下方式呈现我的:
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
推荐阅读
- angular - 仅当 *ngIf 中的所有选项都不为真时才显示 else 块
- javascript - 从 DynamoDB 获取有限和排序的项目页面?
- rxjs - 基于集合内项目的延迟
- python - 如何安排循环?
- tensorflow - Keras / TF 2019 限制 GPU 内存使用?
- python - 如何使用正则表达式循环过滤特定字符之前和之后的部分句子
- android - 将活动转换为片段时如何修复onOptionsItemSelected
- ionic-framework - 离子 PWA 安全吗?
- libgdx - 我应该为 libgdx 中的每个图像按钮制作不同的纹理包吗?
- python - Softmax及其导数的清晰实现