如何让标题栏以编程方式显示在 NSWindow 中?
How do I get a titlebar to show programmatically in NSWindow?
我正在尝试以编程方式开发一个 OS X cocoa 应用程序,并且我正在尝试显示一个 window 带有一个标题栏,该标题栏显示通常的交通信号灯(关闭,最小化,全屏)选项在顶部。
但是,当 window 显示在屏幕上时,只有一个空的 window。
这是我使用的代码:
class AppDelegate: NSObject, NSApplicationDelegate {
let window = NSWindow(contentRect: NSMakeRect(10, 10, 200, 200),
styleMask: NSWindowStyleMask.closable,
backing: NSBackingStoreType.buffered, defer: true)
func applicationDidFinishLaunching(_ aNotification: Notification) {
self.titleVisibility = .visible;
self.titlebarAppearsTransparent = false;
self.isMovableByWindowBackground = true;
let controller = NSWindowController(window: window)
controller.showWindow(self);
}
我在构建 NSWindow 时尝试了不同的 NSWindowStyleMask
但没有成功。
这是我看到的:
我在 10.12
上使用 Xcode 8.3
所以你需要 4 个样式面具。
NSWindowStyleMask.closable
NSWindowStyleMask.miniaturizable
NSWindowStyleMask.resizable
NSWindowStyleMask.titled
要将它们合而为一,可以使用数组
[NSWindowStyleMask.closable, NSWindowStyleMask.miniaturizable, NSWindowStyleMask.resizable, NSWindowStyleMask.titled]
但尽量写成swift风格
[.closable, .miniaturizable, .resizable, .titled]
我正在尝试以编程方式开发一个 OS X cocoa 应用程序,并且我正在尝试显示一个 window 带有一个标题栏,该标题栏显示通常的交通信号灯(关闭,最小化,全屏)选项在顶部。 但是,当 window 显示在屏幕上时,只有一个空的 window。
这是我使用的代码:
class AppDelegate: NSObject, NSApplicationDelegate {
let window = NSWindow(contentRect: NSMakeRect(10, 10, 200, 200),
styleMask: NSWindowStyleMask.closable,
backing: NSBackingStoreType.buffered, defer: true)
func applicationDidFinishLaunching(_ aNotification: Notification) {
self.titleVisibility = .visible;
self.titlebarAppearsTransparent = false;
self.isMovableByWindowBackground = true;
let controller = NSWindowController(window: window)
controller.showWindow(self);
}
我在构建 NSWindow 时尝试了不同的 NSWindowStyleMask
但没有成功。
这是我看到的:
我在 10.12
上使用 Xcode 8.3所以你需要 4 个样式面具。
NSWindowStyleMask.closable
NSWindowStyleMask.miniaturizable
NSWindowStyleMask.resizable
NSWindowStyleMask.titled
要将它们合而为一,可以使用数组
[NSWindowStyleMask.closable, NSWindowStyleMask.miniaturizable, NSWindowStyleMask.resizable, NSWindowStyleMask.titled]
但尽量写成swift风格
[.closable, .miniaturizable, .resizable, .titled]