iOS 模糊化效果 ANBlurredImageView的使用
/**
?*? 背景模糊化效果
?*/
- (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;
? ? ? ? }];
? ? }
?
}
轉載于:https://www.cnblogs.com/youmei11/p/4769488.html
總結
以上是生活随笔為你收集整理的iOS 模糊化效果 ANBlurredImageView的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [原创]Java中字符串、数组、集合及J
- 下一篇: 字符流与字节流转换输出