我想在HOLLOW CGPath的OUTSIDE邊緣添加一個陰影(這兩個詞很重要:outside + hollow :))。CALayer.shadow創建的剪切陰影
蘋果的影子執行只允許你做「填充」的陰影。
那麼......如何去掉陰影內部的部分呢?如果它是一個渲染調用,我會調用CGContextSetClip *方法將其剪裁到我想要的位置......但是我不明白你會怎麼做,因爲它既不是渲染調用,也不是CALayer本身。
(蘋果的一個不幸後果「藏」作爲一組神奇的變量,我猜?)
注意:這是僅適用於iOS - IIRC在Mac上,你必須用來創建陰影過濾器直接訪問,所以你可以手工創建你自己的(任意的)陰影。
UPDATE:
我制定瞭如何剪輯,只顯示陰影的內側部分:設置「layer.mask」,是一個新的層是當前層的一個副本(即相同的路徑),並將路徑fillcolor設置爲具有完整字母的任何東西。
這是我想要的相反,所以如果我能想出一個方法來獲得掩膜層翻轉阿爾法(0變成1,1變成0),我會在那裏...
我試過了,但沒有發生在我的圖層上,而且你沒有定義'shadowBorderWidth'。這是什麼意思? – 2013-06-28 07:45:34
我改變了代碼。我不知道它是否仍然有效,可能會。如果它不適合你,你可以做很多調試:你的cloneShapeLayer方法,CGPath中的纏繞規則,你原來的CGPath本身等等......這取決於你的源代碼和你的圖像數據 - 我無法爲你調試。 – Adam 2013-06-28 11:23:11
謝謝,我會試試:) – 2013-06-28 14:53:37