Swift 3 NSWindowStyleMask
Swift 3 NSWindowStyleMask
使用 Swift 3 更新到 Xcode 8 后,以下代码不再有效
self.view.window?.styleMask = NSTitledWindowMask | NSMiniaturizableWindowMask
请告诉我如何解决它?
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)
}
如果有人也遇到和我一样的问题,这里是 SWIFT 3
的工作版本
如果使用 NSViewController,请添加以下内容:(感谢 João Oliveira 的贡献)
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 位置以及宽度和高度更改为您喜欢的 window 大小。
这对我有用:
window.styleMask = [.titled, .miniaturizable]
使用 Swift 3 更新到 Xcode 8 后,以下代码不再有效
self.view.window?.styleMask = NSTitledWindowMask | NSMiniaturizableWindowMask
请告诉我如何解决它?
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)
}
如果有人也遇到和我一样的问题,这里是 SWIFT 3
的工作版本如果使用 NSViewController,请添加以下内容:(感谢 João Oliveira 的贡献)
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 位置以及宽度和高度更改为您喜欢的 window 大小。
这对我有用:
window.styleMask = [.titled, .miniaturizable]