我试图以编程方式开发OS X cocoa应用程序,并且我正在尝试显示一个带有标题栏的窗口,该窗口在顶部显示通常的交通灯(关闭,最小化,全屏)选项。 但是,当窗口显示在屏幕上时,只有一个空窗口。
以下是我正在使用的代码:
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
答案 0 :(得分:2)
所以你需要4个样式面具。
NSWindowStyleMask.closable
NSWindowStyleMask.miniaturizable
NSWindowStyleMask.resizable
NSWindowStyleMask.titled
要将它们全部放入一个,您可以使用数组
[NSWindowStyleMask.closable, NSWindowStyleMask.miniaturizable, NSWindowStyleMask.resizable, NSWindowStyleMask.titled]
但尝试用快速风格写作
[.closable, .miniaturizable, .resizable, .titled]