2012-06-02 13 views
5

Come posso riprodurre questo effetto ombra? Il mio problema è che se uso un colore alfa o ClearColor alto, non c'è ombra, se uso un colore alfa basso, non riesco a vedere l'ombra esterna sotto la lastra. Poiché il livello del volume cambia (parte colorata) anche l'ombra si muove, quindi non è puro Photoshop.Come aggiungere un'ombra a un UIView trasparente?

enter image description here

risposta

0

Avrete due immagini uno è l'immagine colorata, e l'altro sarà l'ombra di esso l'ombra si espanderà e l'aumento di larghezza con l'espansione della parte colorata

Ci non è un modo nativo per fare quello che stai chiedendo,

8

prova qualcosa usando le proprietà della tua vista. si potrebbe finire con qualcosa

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); 

è fuoriuscita dal modo in cui dovrebbe CGPathRelease (rect) alla fine dispiace.

0

Ho utilizzato un UIImageView per fornire l'ombra. Ho creato un'immagine di 1 pixel di larghezza, alta 12 pixel. L'immagine era nera, ma l'alfa era un gradiente da 0,5 in alto a 0,0 in basso es. RGBA 1.0,1.0,1.0,0.5 -> 1.0,1.0,1.0,0.0 - Ho quindi collocato UIImageView appena sotto la vista che richiede l'ombra e lo ho allungato orizzontalmente attraverso la larghezza della vista. L'ho usato anche quando avevo bisogno di cambiare l'intensità dell'ombra quando scorre una vista di scorrimento sotto, cambiando il valore UIImageView.alpha

Problemi correlati