访问默认 Window 颜色 Cocoa
Access Default Window Color Cocoa
我有一个 SKView
,在 window 中有一张键盘图片,如下所示。我希望它呈现的 SKScene
的背景颜色与其后面的 window 颜色相同,这样看起来就好像键盘就在 window 中一样,并且不在 window 中的其他内容中。在查阅了NSColor
文档后,我尝试将SKScene
的背景颜色设置为NSColor.windowBackgroundColor()
。下面的颜色是我得到的。我假设有某种错误,所以它默认为黑色。也就是说,如何访问 window?
的默认颜色
将 SKView
的 allowsTransparency
设置为真,然后将 SKScene
的 backgroundColor
设置为 NSColor.clearColor()
。
我认为,如果视图不允许透明,则使用 windowBackgroundColor()
会产生黑色,如果允许透明,则可以使用,因为它被 "accident" 有效地转换为 clearColor()
。 windowBackgroundColor()
有点奇怪。它既不是 RGB 颜色也不是灰度颜色 space 并且不能转换为其中任何一种。我猜 SKScene
试图将背景颜色转换为 RGB 颜色 space,当失败时,它使用 clearColor()
作为后备。
我有一个 SKView
,在 window 中有一张键盘图片,如下所示。我希望它呈现的 SKScene
的背景颜色与其后面的 window 颜色相同,这样看起来就好像键盘就在 window 中一样,并且不在 window 中的其他内容中。在查阅了NSColor
文档后,我尝试将SKScene
的背景颜色设置为NSColor.windowBackgroundColor()
。下面的颜色是我得到的。我假设有某种错误,所以它默认为黑色。也就是说,如何访问 window?
将 SKView
的 allowsTransparency
设置为真,然后将 SKScene
的 backgroundColor
设置为 NSColor.clearColor()
。
我认为,如果视图不允许透明,则使用 windowBackgroundColor()
会产生黑色,如果允许透明,则可以使用,因为它被 "accident" 有效地转换为 clearColor()
。 windowBackgroundColor()
有点奇怪。它既不是 RGB 颜色也不是灰度颜色 space 并且不能转换为其中任何一种。我猜 SKScene
试图将背景颜色转换为 RGB 颜色 space,当失败时,它使用 clearColor()
作为后备。