2011-11-30 16 views
5

Tengo un requisito en el que tengo que dibujar la sombra de una vista más allá del marco de la vista. Ya tenemos una jerarquía/estratificación de vistas complejas y ahora no sería posible cambiar los marcos y el diseño de la vista para acomodar las sombras dentro de los límites de la vista del viewController.UIView dibujar la sombra más allá del marco de la vista

1. Soy poco preocupado aquí de si soy permitido trazar la sombra de fuera de la vista siguiendo esta metodología:

"También puede crear una sombra que se basa en . el componente alfa de lo que está dibujado en la vista a menudo, esto se traducirá en una sombra a la vuelta de los bordes de la vistaeste código de ejemplo en un UILabel:.

label.layer.shadowColor = [UIColor blackColor].CGColor; 
label.layer.shadowOpacity = 1.0; 
label.layer.shadowRadius = 5.0; 
label.layer.shadowOffset = CGSizeMake(0, 3); 
label.clipsToBounds = NO; 

En este caso, necesita que clipsToBounds sea NO para que aparezca una sombra fuera del marco de la vista. A continuación, te mostraré cómo puedes combinar esquinas redondeadas y sombras, ya que estoy seguro de que eso es lo que realmente quieres hacer ahora. "

Referencia: http://bynomial.com/blog/?p=52

2. Ahora, me he encontrado con hilos que dice que dibujar sombras fuera de la vista no se anima Pero ninguna explicación:. How can I draw a shadow beyond a UIView's bounds?

¿Hay alguna ¿Por qué razón no deberíamos dibujar sombras (CALayer) fuera del marco de la vista? ¿O está bien seguir el primer enfoque?

Gracias, Raj

Respuesta

6

No veo absolutamente ninguna razón para no dibujar una sombra de esta manera, y esta es francamente la única manera. ¿Por qué "no se te permite" dibujar una sombra fuera de los límites? Para eso es válida la propiedad clipsToBounds.

Cuestiones relacionadas