2012-08-03 60 views
1

我有一個CALayer,我拖過屏幕。我想在圖層上留下陰影,所以我創建一個並將其柵格化爲位圖。我希望帶陰影的光柵化版本在被拖拽爲沒有陰影的圖像時具有相同的性能,但情況更糟。如果圖像被光柵化,爲什麼更糟?有沒有更好的方式來添加陰影而不會顯着降低性能?我創建了陰影,內容如下:CALayer柵格化性能降級

layer.contents = (id) [UIImage imageNamed:[dict objectForKey:@"imageURI"]].CGImage; 
layer.shadowColor = [UIColor blackColor].CGColor; 
layer.shadowOpacity = .5; 
layer.shouldRasterize = YES; 
layer.rasterizationScale = [[UIScreen mainScreen] scale]; 

回答

2

當使用CALayer的影子,你應該使用shadowPath屬性。你會這樣使用它:

layer.shadowPath = [UIBezierPath bezierPathWithRect:layer.bounds].CGPath;