Xcode 设置为窗口内容的SplitViewController会导致窗口不显示

Xcode 设置为窗口内容的SplitViewController会导致窗口不显示,xcode,swift,macos,xcode-storyboard,Xcode,Swift,Macos,Xcode Storyboard,使用故事板和Swift在OS X 10.11.5上使用Xcode 7.3.1 我正在尝试学习针对OSX的Swift编程,所以我正在尝试将我已经用Java编写的应用程序移植到本机OSX代码中。该应用程序要求垂直拆分窗口的内容,这是我在JavaFX中使用BorderPane实现的 我正在尝试使用NSSplitViewController在Xcode中执行此操作,但由于某些原因,Split View控制器会在我运行应用程序时导致应用程序窗口不显示。如果改为添加一个简单的NSViewController

使用故事板和Swift在OS X 10.11.5上使用Xcode 7.3.1

我正在尝试学习针对OSX的Swift编程,所以我正在尝试将我已经用Java编写的应用程序移植到本机OSX代码中。该应用程序要求垂直拆分窗口的内容,这是我在JavaFX中使用BorderPane实现的

我正在尝试使用NSSplitViewController在Xcode中执行此操作,但由于某些原因,Split View控制器会在我运行应用程序时导致应用程序窗口不显示。如果改为添加一个简单的NSViewController,则窗口显示得很好

我正在使用作为参考,但相同的步骤(即,拖动新的“垂直分割视图控制器”,并通过设置为“窗口内容”将其连接到窗口控制器)不会产生相同的结果。我知道这段视频有点旧,但过程应该差不多,对吧

这是

TL;DR:为OSX创建了一个新的Xcode项目,其中包含故事板和Swift,将SplitViewController设置为窗口内容,运行应用程序,窗口不会显示

  • 有什么我没做的吗
  • 这只是一个bug吗
  • 我能做些什么让窗口显示一个分割视图控制器吗
更新

我尝试对
NSWindowController
进行子类化,看看是否可以强制加载窗口,瞧,确实调用了
windowDidLoad
方法,但仍然没有窗口

下面是我的
WindowController
子类的代码:

import Cocoa

class WindowController: NSWindowController {

    override func windowDidLoad() {
        super.windowDidLoad()
        print("The window did load.")
    }
}

当我用它运行程序时,它会将消息“窗口确实加载了。”打印到输出中,但没有其他内容,因此没有运行时错误。

所以我自己在情节提要上做了一些修改,解决了这个问题。这个问题似乎源于故事板中
SplitViewController
s的配置方式。看起来,如果拆分视图控制器的子视图控制器仅包含空视图,则其大小将设置为0并加载窗口,但其大小为0,因此不会实际显示


我向视图和显示的窗口添加了内容。我仍然需要弄清楚如何让它以我想要的大小显示,但是最大的障碍已经跨越了。

所以我自己在故事板上做了一些修改,解决了这个问题。这个问题似乎源于故事板中
SplitViewController
s的配置方式。看起来,如果拆分视图控制器的子视图控制器仅包含空视图,则其大小将设置为0并加载窗口,但其大小为0,因此不会实际显示


我向视图和显示的窗口添加了内容。我仍然需要弄清楚如何使它以我想要的大小显示,但最大的障碍已经跨越。

NSWindow不是活的动物。它并不总是在启动时出现。如果它没有出现,请以编程方式显示它。我将如何做到这一点?我对xcode完全陌生,swiftNSWindow不是活的动物。它并不总是在启动时出现。如果它没有出现,请以编程方式显示它。我将如何做到这一点?我对xcode和swift完全陌生