/**
* 背景模糊化效果
*/
- (void)resetBlurView
{
ANBlurredImageView *blurView = self.commentBackground; // 创建ANBlurredImageView类型的属性
blurView.baseImage = [self screenShots];
blurView.blurAmount = 0.3; // 设置透明度
__weak typeof (self) weakP = self;
BLOCK_BACKGROUND(^() {
[blurView generateBlurFramesWithCompletion:^{
BLOCK_MAIN_THREAD(^() {
[weakP showBackgroundViewAnimation:YES];
});
}];
});
}
-(UIImage *)screenShots
{
CGSize imageSize = [[UIScreen mainScreen] bounds].size;
UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0);
CGContextRef context = UIGraphicsGetCurrentContext();
for (UIWindow * window in [[UIApplication sharedApplication] windows]) {
if (![window respondsToSelector:@selector(screen)] || [window screen] == [UIScreen mainScreen]) {
CGContextSaveGState(context);
CGContextTranslateCTM(context, [window center].x, [window center].y);
CGContextConcatCTM(context, [window transform]);
CGContextTranslateCTM(context, -[window bounds].size.width*[[window layer] anchorPoint].x, -[window bounds].size.height*[[window layer] anchorPoint].y);
[[window layer] renderInContext:context];
CGContextRestoreGState(context);
}
}
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
- (void)showBackgroundViewAnimation:(BOOL)show
{
__weak typeof (self) weakP = self;
if (show) {
weakP.commentBackground.hidden = NO;
[weakP.commentBackground blurInAnimationWithDuration:self.keyboardAppear];
} else {
[weakP.commentBackground blurOutAnimationWithDuration:self.keyboardAppear completion:^{
weakP.commentBackground.hidden = YES;
}];
}
}