2012-04-30 18 views
18

To jest mój kod.UIView shadow does not working

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

Działa dobrze z efektem cienia.

Podczas wymiany

listView.layer.masksToBounds = YES; 

zrobił uzyskać efekt cienia.

+0

'listView' jest UIView –

Odpowiedz

16

Cień rysowany jest poza obrębem warstwy. Trzeba ustawić listView.layer.masksToBounds = NO zobaczyć cieniu

jeśli ustawisz listView.layer.masksToBounds = YES nie można nic wyciągnąć stronę granic, więc nie można się cień

+0

to było bardzo pomocne. Dzięki –

1

Jeśli musisz użyć masksToBounds = YES; sprawdź this SO post. Mówi on, jak używać cieni i zaokrąglonych narożników (w tym konkretnym przypadku) w widoku za pomocą dwóch widoków zagnieżdżonych: widok zewnętrzny rzuca cień i nie maskuje się do granic, podczas gdy widok wewnętrzny ma zaokrąglone rogi i maski do granic.