• 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;

            }];

        }

     

    }

  • 相关阅读:
    webpack之模块(七)
    webpack之配置(六)
    webpack之插件(五)
    webpack之loader(四)
    webpack之模式(三)
    webpack之输出(二)
    webpack之入口起点(一)
    Dynamics CRM Tips
    Step by Step 开发dynamics CRM
    Loading Ring 使用文档
  • 原文地址:https://www.cnblogs.com/youmei11/p/4769488.html
Copyright © 2020-2023  润新知