2013-02-12 12 views
7

Mam animowany CALayer, który upuszcza cień. To właśnie zamierzałem zrobić, ale szukam sposobu, by mieć solidny cień bez rozmycia. Zmiana promienia rozmycia nie uratuje mojego problemu. Jakieś pomysły?solidny cień dla CALayer

Wielkie dzięki.

myLayer.shadowRadius = 3; 
    //shadowBlurRadius 
    myLayer.shadowColor = [[UIColor greenColor] CGColor]; 
    //intended is to get a green solid shadow without blur 
+1

Czy próbowałeś ustawić myLayer.shadowOpacity = 1.0? [https://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CALayer_class/Introduction/Introduction.html#//apple_ref/doc/uid/TP40004500-CH1-SW84](https://developer. apple.com/library/ios/documentation/GraphicsImaging/Reference/CALayer_class/Introduction/Introduction.html#//apple_ref/doc/uid/TP40004500-CH1-SW84) – jhilgert00

+0

Dlaczego mówisz, że 'shadowRadius' nie wpływa na ilość rozmycia? Co się stanie, gdy obniżysz promień? – Rob

Odpowiedz

22

Jeśli chcesz bez rozmycia można:

myLayer.shadowColor = [[UIColor greenColor] CGColor]; 
myLayer.shadowOffset = CGSizeMake(5.0, 5.0); 
myLayer.shadowOpacity = 1.0; 
myLayer.shadowRadius = 0.0; 

shadowRadius dyktuje ilość rozmycia. shadowOffset dyktuje, gdzie idzie cień.

+0

Dzięki - ustawienie promienia na 0,0 pomogło. Ponadto chciałem zwiększyć promień cienia - ale nie zwiększać rozmycia (dlatego powiedziałem, że zmiana cienia nie działa). Teraz, gdy mam solidny cień, spróbuję go powiększyć za pomocą krzywej Beziera dla shadowPath warstwy. – user1612877