Cocoa - 在情节提要中以编程方式呈现 NSViewController LIKE “显示选项”(不是模态)

Posted

技术标签:

【中文标题】Cocoa - 在情节提要中以编程方式呈现 NSViewController LIKE “显示选项”(不是模态)【英文标题】:Cocoa - Present NSViewController programmatically LIKE "Show option" in storyboard (Without being a Modal) 【发布时间】:2019-10-12 07:16:57 【问题描述】:

我正在尝试展示一个 NSViewController,并且有 3 个 API 可用。

presentAsModalWindow()

presentAsSheet()

present(....) for popover

但我想在没有 ViewController 的情况下简单地呈现模式。 我发现在情节提要中有一个选项“显示”。如果您连接任何操作,那么它将呈现视图控制器并且它不会是模态的。但在代码中,我找不到类似的选项。

注意:我希望它应该像在没有 NewController 是模态的情况下使用 presentAsModal 一样呈现。

【问题讨论】:

【参考方案1】:

我找到了解决方案。我们需要创建一个新窗口并嵌入到新的窗口控制器中。

    let vc = MyViewController()
    let myWindow = NSWindow(contentViewController: vc)
    myWindow.makeKeyAndOrderFront(self)
    let windowVC = NSWindowController(window: myWindow)
    windowVC.showWindow(self)

【讨论】:

以上是关于Cocoa - 在情节提要中以编程方式呈现 NSViewController LIKE “显示选项”(不是模态)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ios swift 中以编程方式将情节提要视图控制器加载到标签栏控制器中?

Swift 5. 如何在按钮触摸时呈现或显示 ViewController?没有情节提要(以编程方式)

如何以编程方式快速使用情节提要 ID 获取当前视图控制器(当前正在呈现)?

模式解除后返回导航控制器索引(无情节提要)

以编程方式创建和呈现模态视图控制器

如何以编程方式更改使用自动布局在情节提要上创建的 UIImageView 的大小?