2012-06-02 21 views
5

¿Cómo puedo reproducir este sombreado? Mi problema es que si uso un color alfa alto o clearColor, no hay sombras, si uso un color alfa bajo, no puedo ver la sombra debajo de la placa. A medida que el nivel del volumen está cambiando (parte colorida), la sombra también se mueve, por lo que no es puro Photoshop.Cómo agregar sombra a una UIView transparente?

enter image description here

Respuesta

0

Usted tendrá dos imágenes una es la imagen colorida, y el otro será la sombra de ella la sombra se expandirá y aumento de la anchura de la expansión de la parte colorida

Hay no es una forma nativa de hacer lo que está pidiendo,

8

intente algo utilizando esas propiedades de su vista. que podría terminar con algo

view.layer.shadowColor = [UIColor colorWithWhite:.5 alpha:1].CGColor; 
    view.layer.shadowRadius = 4.0f; 
    view.layer.shadowPath = CGPathCreateWithRect(CGRectMake(0, 0, 50, 50), NULL); 
    view.layer.shadowOpacity = 1.0f; 
    view.layer.shadowOffset = CGSizeMake(1, 1); 

que hay un escape por cierto debe CGPathRelease (rect) al final lo siento.

0

Utilicé un UIImageView para proporcionar la sombra. Creé una imagen de 1 píxel de ancho por 12 de alto. La imagen era negra, pero el alfa era un gradiente de 0.5 en la parte superior a 0.0 en la parte inferior, por ejemplo. RGBA 1.0,1.0,1.0,0.5 -> 1.0,1.0,1.0,0.0 - Luego coloqué el UIImageView justo debajo de la vista que necesita la sombra y la estiré horizontalmente a lo ancho de la vista. También lo he usado cuando necesitaba cambiar la intensidad de la sombra cuando una vista de desplazamiento inferior se desplaza, cambiando el valor de UIImageView.alpha

Cuestiones relacionadas