2012-04-30 11 views
18

Este es mi código.UIView shadow no funciona

listView.layer.masksToBounds = NO; 
listView.layer.shadowOffset = CGSizeMake(-3, 3); 
listView.layer.shadowColor=[[UIColor blackColor] CGColor]; 
listView.layer.shadowRadius = 4; 
listView.layer.shadowOpacity = 1.0; 
[listView.layer setShouldRasterize:YES]; 

Funciona bien con el efecto de sombra.

Si bien el cambio

listView.layer.masksToBounds = YES; 

no me dieron efecto de sombra.

+0

'listView' es un UIView –

Respuesta

16

La sombra se dibuja fuera de los límites de la capa. Usted tiene que fijar listView.layer.masksToBounds = NO ver la sombra

si establece listView.layer.masksToBounds = YES no se puede dibujar cualquier cosa fuera del lado de los límites por lo que no puede conseguir sombra

+0

esto fue de lo más útil. Gracias –

1

Si tiene que usar masksToBounds = YES; echa un vistazo a this SO post. Le dice cómo usar sombras y esquinas redondeadas (en este caso particular) en una vista utilizando dos vistas anidadas: la vista externa proyecta la sombra y no se enmascara a los límites mientras que la vista interna tiene esquinas redondeadas y máscaras a los límites.