2011-02-18 96 views
0

我有UIImageView子類實例有多個圖像子層。(iphone)我在圖像後面出現黑色矩形,爲什麼?

我想動態地添加/刪除陰影到這個視圖。

以下代碼對於具有一個子圖層的imageView可以正常工作(imageView子類的實現),但對於具有多個子圖層的imageView顯示黑色矩形而不是陰影。

(實際上,對於一個層圖像,代碼似乎繼續,如果多次運行以前的影子的頂部添加陰影,但是這是一個小問題)

- (void) drawLayer: (CALayer*) layer inContext: (CGContextRef)context 
{ 
    SYSLOG(LOG_DEBUG, "in drawLayer, isShadowed: %d", isShadowed); 

    if(isShadowed == true) 
    { 
     CGContextSaveGState(context); 
     CGContextClearRect(context, self.bounds); 
     CGContextSetShadow(context, CGSizeMake(10, 10), 3); 
     CGContextBeginTransparencyLayer(context, NULL); 
     [layer renderInContext:context]; 
     CGContextEndTransparencyLayer(context); 
     CGContextRestoreGState(context); 
    } 
    else 
    { 
     [layer renderInContext:context]; 
    } 
} 

謝謝

回答

0

如果您的圖層的opaque不是否,CGContextClearRect繪製黑色而不是在圖層中打孔透明孔。我猜這就是問題所在。

相關問題