2011-04-03 67 views
0

我無法在CAShapeLayer前畫一個UIImage。我在背景中有一個矢量圖像,前面有一個圖標。這個矢量很重要,因爲我最終會縮放這個動畫;我有很多這些在屏幕上,因此爲了表現,我想在低於一系列UIImageView子視圖的情況下做到這一點。如何在CAShape層上顯示UIImage?

我已經試過:

  • 容器視圖的層類型設置爲CAShapeLayer
  • 添加CAShapeLayer作爲我的容器視圖的子
  • 設置我的容器的層和/或子層的content到圖片的CGImage
  • 在容器視圖的手動繪製圖像的drawRect(我的Quartz-fu很弱,雖然)

在大多數情況下,我得到的形狀背後繪製(我隱約明白,這是由於如何CAShapeLayers複合本身)或根本沒有圖像。當然,這是可能的,而不訴諸子視圖?

回答

0

您是否嘗試將子圖層的z位置設置爲正值?默認值爲0.0,因此使其大於零會使其在層次結構中「更高」。

+0

我試過'insertSublayer:above'和'insertSublayer:below',我認爲它必須做同樣的事情。我想我錯過了更基本的東西。 – 2011-04-04 13:29:39

+0

我不認爲它做同樣的事情。據我記憶,它只重新排列sublayers數組中的對象,它不會改變它們的zPosition。 – 2011-04-04 13:40:50

+0

啊,你說得對。該文檔說:'將圖層插入到接收方的子圖層數組中,在指定的子圖層上方。「我認爲它會調整Z指數,但事實並非如此。 – 2011-04-04 14:31:05