我试图通过将栅格应用于CALayer来执行快速且肮脏的“模糊”。 CA文档说shouldRasterize是可动画的,但是我没有任何动画。代码如下:

 CABasicAnimation* blurAnimation;
 blurAnimation = [CABasicAnimation animationWithKeyPath:@"rasterize"];
 blurAnimation.removedOnCompletion = NO;
 blurAnimation.autoreverses = YES;
 blurAnimation.duration = 3.0f;
 blurAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
 blurAnimation.repeatCount = 20; // HUGE_VALF;
blurAnimation.fromValue = [NSNumber numberWithFloat:0.3f];
blurAnimation.toValue = [NSNumber numberWithFloat:1.0f];
[theCheck setShouldRasterize:YES];

 // Add animation to the layer and make it so
 [theCheck addAnimation:blurAnimation forKey:nil];

最佳答案

您是否尝试将“ rasterize”更改为“ rasterizationScale”?

10-08 01:35