使用Storyboard和Swift在OS X 10.11.5上使用Xcode 7.3.1
我正在尝试为OS X学习Swift编程,所以我试图将已经用Java编写的应用程序移植到本机OS X代码中。该应用程序要求窗口的内容垂直拆分,这是我在JavaFX中使用BorderPane完成的。
我正在尝试使用NSSplitViewController在Xcode中执行此操作,但由于某种原因,Split View Controller会导致应用程序窗口在运行应用程序时不显示。如果我添加一个简单的NSViewController,窗口就会显示得很好。
我正在使用this video作为参考,但是相同的步骤(即在新的“垂直分割视图控制器”中拖动并通过设置为窗口内容将其连接到窗口控制器)不会产生相同的结果。我知道视频有点陈旧,但过程应该大致相同,对吧?
这是a screenshot of my storyboard。
TL; DR:使用Storyboards和Swift为OS X创建一个新的Xcode项目,将SplitViewController设置为窗口内容,运行应用程序,窗口不显示。
更新
我尝试了对NSWindowController
进行子类化以查看是否可以强制加载窗口,并且看到windowDidLoad
方法被调用,但仍然没有窗口...
这是我的WindowController
子类的代码:
import Cocoa
class WindowController: NSWindowController {
override func windowDidLoad() {
super.windowDidLoad()
print("The window did load.")
}
}
当我用它运行程序时,它会打印出消息“窗口已加载”。进入输出,但没有别的,所以没有运行时错误。
答案 0 :(得分:0)
所以我自己解决了这个故事板上的一些小问题。问题似乎源于在故事板中配置SplitViewController
的方式。看起来,如果拆分视图控制器的子视图控制器只包含空视图,它们的大小设置为0并且窗口已加载,但其大小为0,因此实际上并未显示。
我在视图和显示的窗口中添加了内容。还是要弄清楚如何让它以我想要的尺寸显示,但最大的障碍已经过去了。