访问默认 Window 颜色 Cocoa

Access Default Window Color Cocoa

我有一个 SKView,在 window 中有一张键盘图片,如下所示。我希望它呈现的 SKScene 的背景颜色与其后面的 window 颜色相同,这样看起来就好像键盘就在 window 中一样,并且不在 window 中的其他内容中。在查阅了NSColor文档后,我尝试将SKScene的背景颜色设置为NSColor.windowBackgroundColor()。下面的颜色是我得到的。我假设有某种错误,所以它默认为黑色。也就是说,如何访问 window?

的默认颜色

SKViewallowsTransparency 设置为真,然后将 SKScenebackgroundColor 设置为 NSColor.clearColor()

我认为,如果视图不允许透明,则使用 windowBackgroundColor() 会产生黑色,如果允许透明,则可以使用,因为它被 "accident" 有效地转换为 clearColor()windowBackgroundColor()有点奇怪。它既不是 RGB 颜色也不是灰度颜色 space 并且不能转换为其中任何一种。我猜 SKScene 试图将背景颜色转换为 RGB 颜色 space,当失败时,它使用 clearColor() 作为后备。