1

我有一个 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];
4

1 回答 1

2

使用 CALayer 阴影时,应使用该shadowPath属性。你会像这样使用它:

layer.shadowPath = [UIBezierPath bezierPathWithRect:layer.bounds].CGPath;
于 2012-10-19T16:23:47.627 回答