2013-02-12 44 views
7

我有一個正在放下陰影的動畫CALayer。這就是我想要做的,但我正在尋找方法讓模糊的影子變得堅實。更改模糊半徑不會節省我的問題。 任何想法?CALayer的實體陰影

非常感謝。

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

您是否嘗試過設置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 2013-02-13 00:23:21

+0

爲什麼你說'shadowRadius'沒有影響到模糊的數量?當你降低半徑時會發生什麼? – Rob 2013-02-13 02:59:34

回答

22

如果你不想要模糊,您可以:

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

shadowRadius規定模糊量。 shadowOffset指示影子在哪裏。

+0

謝謝 - 設置半徑爲0.0有幫助。另外,我想增加陰影的半徑 - 但不會增加模糊(這就是爲什麼我說改變shadowRadius不起作用)。現在我有了一個穩定的陰影,我會嘗試使用貝塞爾曲線爲我的圖層的shadowPath放大它。 – user1612877 2013-02-13 20:03:26