使用Swift 3更新到Xcode 8后,以下代码不再起作用
self.view.window?.styleMask = NSTitledWindowMask | NSMiniaturizableWindowMask
请告诉我如何解决?
答案 0 :(得分:8)
window.styleMask.insert(.fullSizeContentView)
或者
window.styleMask = window.styleMask.union(.fullSizeContentView)
示例:
override func windowDidLoad() {
super.windowDidLoad()
guard let window = window else { return }
window.titlebarAppearsTransparent = true
window.titleVisibility = .hidden
window.styleMask.insert(.fullSizeContentView)
}
答案 1 :(得分:5)
这对我有用:
window.styleMask = [.titled, .miniaturizable]
答案 2 :(得分:1)
如果有人像我一样有同样的问题,这里是SWIFT 3的工作版本
如果使用NSViewController,请添加以下内容:(感谢JoãoOliveira贡献)
override func viewDidAppear() {
self.view.window?.styleMask.insert(.titled) /* Enable Title */
self.view.window?.styleMask.insert(.closable) /* Enable Close button */
}
如果使用NSWindowController,请添加以下内容:
init(){
self.m_window = NSWindow(
contentRect: NSRect(300, 300, width: 500, height: 500),
styleMask: NSWindowStyleMask(rawValue: (NSWindowStyleMask.closable.rawValue | NSWindowStyleMask.titled.rawValue)),
backing: NSBackingStoreType.buffered, defer: false
)
}
**将X,Y位置和宽度和高度更改为首选窗口大小。