zoukankan      html  css  js  c++  java
  • iOS 后台毛玻璃的实现

    1首先苹果官方提供 UIBlurEffect类、UIVibrancyEffect类 和 UIVisualEffectView类 可以实现效果 并且有枚举可以选择 但是真心达不到想要的效果!!!!

    2于是乎就想到了让UI妹子提供一张透明的背景图 在图上进行虚化处理 效果和上述一样 甚至不及!!! 这种又不行....

    3第三种方法就是我接下来要说的 和第二种类似 只不过是直接图片换成了截屏

    在将要进入后台的时候进行截屏,

    以上是截屏代码

    截屏之后就对它进行虚化处理,我是在网上找了一个图片的分类

    注:::::::::::::::self.EffectimgV只是图片容器,之前用了第一种方法所以方法名没改 偷了个懒......

    -(UIImageView *)EffectimgV{

        if (_EffectimgV == nil) {

            _EffectimgV = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, ZCScreenWidth, ZCScreenHeight)];

        }

        return _EffectimgV;

    }

    虚化的核心代码:

    - (void)setImageToBlur:(UIImage *)image

                blurRadius:(CGFloat)blurRadius

           completionBlock:(LBBlurredImageCompletionBlock) completion

    {

        NSParameterAssert(image);

        NSParameterAssert(blurRadius >= 0);

        

        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

            

            UIImage *blurredImage = [image applyBlurWithRadius:blurRadius

                                                     tintColor:nil

                                         saturationDeltaFactor:kLBBlurredImageDefaultSaturationDeltaFactor

                                                     maskImage:nil];

            

            dispatch_async(dispatch_get_main_queue(), ^{

                self.image = blurredImage;

                if (completion) {

                    completion();

                }

            });

        });

    }

    接下来就是覆盖当前的视图了 这里不再赘述

    这就是最终效果 模糊程度可以自行设置  就这样了

    挥毫泼墨,书写人生篇章
  • 相关阅读:
    Docker 安装ELK之 zz
    Linux使用Aria2命令下载BT种子/磁力/直链文件 转载
    新路由3newifi3路由器刷机newifi3breed解锁小白刷机教程路由器刷breed老毛子Padavan固件
    从ServerSwitch到SONiC Chassis:数据中心交换机技术的十年探索历程
    SONiC项目的发展及其相关介绍(转载)
    linux后台运行和关闭、查看后台任务
    tsar安装和使用
    浅谈CLOSE_WAIT
    贾扬清牛人(zz)
    Linux Soft-RoCE implementation (zz)
  • 原文地址:https://www.cnblogs.com/Jusive/p/6210486.html
Copyright © 2011-2022 走看看