在故事板项目中为 window 使用自定义 class
Using a custom class for the window in a storyboard project
我使用 Xcode (9.2) 创建了一个故事板项目。
然后我创建了 NSWindow 的自定义子 class 并使用情节提要编辑器将其设置为我的 window.
的 class
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()
调用的行上抛出此错误:
Fatal error: Use of unimplemented initializer
'init(contentRect:styleMask:backing:defer:)'
超级 class (NSWindow
) 是否已经包含该实现?
我错过了什么?
如果您在故事板中使用它,那么您需要实现 init 方法,因为它是 NSWindow 的指定方法。
例如看这个问题Fatal error: use of unimplemented initializer 'init(coder:)' for class
我使用 Xcode (9.2) 创建了一个故事板项目。
然后我创建了 NSWindow 的自定义子 class 并使用情节提要编辑器将其设置为我的 window.
的 classclass CustomWindow: NSWindow {
init() {
super.init(contentRect: NSRect.zero, styleMask: .borderless, backing: .buffered, defer: true)
self.setFrame(NSScreen.screens[0].visibleFrame, display: false)
}
}
[为清晰起见进行了编辑]
项目正常,但在 运行 时在包含 super.init()
调用的行上抛出此错误:
Fatal error: Use of unimplemented initializer 'init(contentRect:styleMask:backing:defer:)'
超级 class (NSWindow
) 是否已经包含该实现?
我错过了什么?
如果您在故事板中使用它,那么您需要实现 init 方法,因为它是 NSWindow 的指定方法。
例如看这个问题Fatal error: use of unimplemented initializer 'init(coder:)' for class