//创建图层
self.layer = [CALayer layer];
self.layer.frame = CGRectMake(0, 0, 320, 320);
[self.view.layer addSublayer:self.layer];
//截屏
float scale = [UIScreen mainScreen].scale;
UIGraphicsBeginImageContextWithOptions(self.view.frame.size, YES, scale);
[self.view drawViewHierarchyInRect:self.view.frame afterScreenUpdates:NO];
__block UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
//裁剪截图
CGImageRef imageRef = CGImageCreateWithImageInRect(image.CGImage,
CGRectMake(self.layer.frame.origin.x * scale,
self.layer.frame.origin.y * scale,
self.layer.frame.size.width * scale,
self.layer.frame.size.height * scale));
image = [UIImage imageWithCGImage:imageRef];
//添加效果
image = [image applyBlurWithRadius:50.0f
tintColor:[UIColor colorWithRed:0 green:1 blue:0 alpha:0.1]
saturationDeltaFactor:2.0f
maskImage:nil];
//放到新建的图层上
self.layer.contents = (__bridge id)(image.CGImage);
实现通知中心/控制中心等模糊背景的图层
最新推荐文章于 2023-07-09 12:09:52 发布