sierra night mojave mac high for enable developer dark swift macos colors sprite-kit appkit

swift - night - Coincidencia de colores de AppKit y SpriteKit



xcode mac os sierra (1)

Estoy construyendo una pequeña aplicación de utilidad para macOS que combina SpriteKit con AppKit. Específicamente, estoy usando un SKView como el "fondo" para la ventana de la aplicación (principalmente para tipos específicos de animaciones que son más fáciles en SpriteKit). También estoy cambiando los colores de la propiedad de fondo de la ventana para ajustar el color de la barra de título. Cambiando entre verde y rojo.

El problema con el que me estoy enfrentando es combinar colores entre AppKit y SpriteKit. En resumen, no coinciden. Como puede ver en la imagen, la barra de título es un poco diferente que la SKView.

Después de tocar un poco, descubrí que el color de fondo en el SKView está en el "espacio de color RGB del dispositivo" y que los colores de la ventana están en "sRGB IEC61966-2.1 colorpace". Cambié los colores de AppKit al dispositivo RGB y los colores aún no coinciden.

Estoy creando los colores con un antiguo inicializador de NSColor.

No estoy seguro de si puede cambiar el espacio de color de un color. La propiedad backgroundColor en la ventana y SKView es de solo lectura.

¿Algunas ideas?


Si estoy leyendo esto correctamente, lo que quieres hacer es combinar colores, ¿no podrías hacer algo como yourAppKit.backgroundColor = yourSKView.backgroundColor que debería establecerlos en igualdad?

y mi segunda pregunta es ¿los necesitas para que coincidan? la mayoría de las veces las personas no se darán cuenta y si se dan cuenta de que realmente no les importará

también aquí hay algunos datos sobre la conversión de RGB a sRGB