gpt4 book ai didi

swift - 如何让标题栏以编程方式显示在 NSWindow 中?

转载 作者:搜寻专家 更新时间:2023-11-01 07:13:59 25 4
gpt4 key购买 nike

我正在尝试以编程方式开发 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 但没有成功。

这是我看到的:

black window with no titlebar

我在 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]

关于swift - 如何让标题栏以编程方式显示在 NSWindow 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43292225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com