2010-04-15 7 views
7

Me gustaría emular la sombra predeterminada aplicada a NSWindows con una sombra CALayer. No acabo de entender los valores exactos de las propiedades de los siguientes embargo:Dimensiones de sombra de ventana predeterminadas para Snow Leopard?

theLayer.shadowOffset = ?; 
theLayer.shadowRadius = ?; 
theLayer.shadowOpacity = ?; 

supongo que el shadowColor es negro (el valor predeterminado).

¿Alguien tiene una idea de cuáles podrían ser esos valores para obtener una sombra de ventana de Leopard nativa (Nieve)?

EDIT:

Para aclarar, yo estoy preguntando si hay alguna API del sistema que me puede dar esos valores. No quiero codificar esos valores, ya que han cambiado en el pasado y probablemente cambien de nuevo en algún momento en el futuro.

Respuesta

4

En primer lugar, depende de si una ventana está en segundo plano o en primer plano. Las ventanas en primer plano tienen una sombra mayor en comparación con las ventanas en el fondo.

Para las ventanas del primer plano puede probar los siguientes valores:

  • color: negro
  • X-Offset: 0
  • Desplazamiento Y: 4 píxeles (hacia abajo)
  • Opacidad: 100%
  • Radio/desenfoque: 20 píxeles
+1

Para el registro, ¡fueron 'negros, 0, -8, 80%, 23px' en Tiger! [#funfacts] (https://twitter.com/#!/search/%23funfacts) –

+1

Y parecen ser de 'negro, 0, -20, 80%, 45px' en león (también podría ser simplemente retina) –

3

Una palabra de advertencia: la ventana s los valores de hadow han cambiado antes (de Leopard a Snow Leopard), por lo que los valores de hardcoding probablemente terminarán desapareciendo en futuras versiones del sistema operativo.

Cuestiones relacionadas