在故事板项目中为窗口使用自定义类

时间:2018-03-14 04:09:51

标签: xcode xcode9 nswindow xcode-storyboard

我使用Xcode(9.2)创建了一个故事板项目。

然后我创建了NSWindow的自定义子类,并使用storyboard编辑器将其设置为我窗口的类。

class CustomWindow: NSWindow {

    init() {
        super.init(contentRect: NSRect.zero, styleMask: .borderless, backing: .buffered, defer: true)
        self.setFrame(NSScreen.screens[0].visibleFrame, display: false)
    }

}

[为清晰起见编辑]

该项目符合确定,但在运行时会在包含super.init()调用的行上抛出此错误:

  

致命错误:使用未实现的初始化程序   为 'init(contentRect:styleMask:背衬:延迟:)'

超类(NSWindow)不会包含该实现吗?

我错过了什么?

1 个答案:

答案 0 :(得分:1)

如果你在故事板中使用它,那么你需要实现init方法,你得到一个错误,因为它是NSWindow的指定。

请参阅此问题Fatal error: use of unimplemented initializer 'init(coder:)' for class,例如