iOS-高斯模糊使用整理

背景

iOS的高斯模糊(UIBlurEffect)是一种很独特的效果,相比透明的颜色看起来更舒服,更高端,最重要的是适配画面更简单,不容易和整体设计冲突,这也是设计大大们热衷的原因,但系统原生的模糊效果档位明显不太满足大大们的审美,在这里就介绍一下如何实现与设计大大们(强行)达成一致的高斯模糊。

Xcode Demo及代码实现

原理介绍

iOS系统带有几种原生的高斯模糊类型,可以看到下图,分别是 UIBlurEffectStyleDark 与 UIBlurEffectStyleExtraLight 模糊类型的效果,可以明显看出与上图效果的差别,那就是模糊效果太强~几乎看不到下层的视图了。

机智的一笔的你是不是想到了直接设置透明度,效果如下,不挡背景了对吧,模糊效果也没有了。。

万能的google后找到一种使用 UIViewPropertyAnimator 实现模糊效果控制的方法,很简单,很实用,将动画停留在移除 effect的某一帧即可。

主要代码如下:

self.animator.fractionComplete = visualAlpha;

但是身为高级动画,有几个需要注意的地方(坑)

  • 动画移出父视图或进入后台时被动执行结束,父视图移出父视图也算
  • animator 释放时动画需要在stop状态,否则crash
  • animator 调用stop时动画状态需要为非stop,否则crash
  • 低端机、低系统避免使用 UIViewPropertyAnimator
  • 动画是需要耗GPU的~过多执行也会导致cpu占用过高甚至进程被强行杀掉,所以该效果最好使用在弹窗、弹出面板中,频繁有迁移(第一点)的情况建议不要使用
  • 父视图使用动画或者MAS约束时记得在动画中调用父视图的 layoutIfNeed 方法!动画冲突会导致动画失效。

iOS-BlurEffect模糊效果总结相关推荐

  1. android ios动态模糊效果,iOS实现模糊效果的几种方法

    iOS系统中大量使用了模糊效果,背景模糊,使得靠前的内容更容易获得用户的关注,自己开发中肯定也遇到过样的需求.今天就总结一下常用的实现模糊效果的方法,目录如下图: 本篇demo:iOS常用模糊效果de ...

  2. iOS 图片模糊效果(高斯模糊)

  3. GitHub上排名前100的iOS开源库介绍(来自github)

    主要对当前 GitHub 排名前 100 的项目做一个简单的简介,方便初学者快速了解到当前 Objective-C 在 GitHub 的情况. 项目名称 项目信息 1. AFNetworking 作者 ...

  4. iOS开发必读-GitHub 上Top100 的 Objective-C 项目

    这篇文章是官方账号在简书推出的文章,感兴趣的请点击下面: 点我看<iOS开发必读-GitHub 上Top100 的 Objective-C 项目> 简单摘录5个项目: 1.AFNetwor ...

  5. iOS GitHub Top 100 简介

    GitHub Top 100 简介 主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况. Android 版 ...

  6. GitHub 上排名前 100 的 IOS 开源库介绍

    转自:https://github.com/Aufree/trip-to-iOS/blob/master/Top-100.md 主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便 ...

  7. iOS本地数据存储安全

    iOS本地数据存储安全 移动APP通常会在设备本地存储一些数据,这可以为程序执行.更良好地性能或离线访问提供支持.由于移动设备使用地越来越广泛,设备失窃的风险也越来越大,因此不安全的本地数据存储已成为 ...

  8. GitHub 排名前 100 的安卓、iOS项目简介

    GitHub Android Libraries Top 100 简介 转自:http://www.devstore.cn/essay/essayInfo/6485.html 排名完全是根据 GitH ...

  9. iOS 学习资料整理

    这份学习资料是为 iOS 初学者所准备的, 旨在帮助 iOS 初学者们快速找到适合自己的学习资料, 节省他们搜索资料的时间, 使他们更好的规划好自己的 iOS 学习路线, 更快的入门, 更准确的定位的 ...

  10. iOS在GitHub Top 前100 简介

    主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况. 项目名称 项目信息 1. AFNetworking 作 ...

最新文章

  1. java开源的cms系统jsp cms系统
  2. python股票涨势_stock
  3. ATPCS和AAPCS
  4. LightOJ 1422 Halloween Costumes
  5. vue新手入门——vue-cli搭建
  6. select count(*) from返回的类型_数据分析面试题类型汇总
  7. 阵列卡直通模式和raid模式_DNF:希洛克Raid攻坚流程攻略
  8. python 迭代器 生成器
  9. 设置元素浮动的几种方式
  10. 深入解读Linux内存管理系列(3)——MMU初始化和页表的建立
  11. linux降内核版本_linux内核降级
  12. 计算机类中英附录,欧盟GMP附录11-计算机系统(中英文对照).pdf
  13. 列举1000以内的水仙花数,并求出水仙花数的个数
  14. 腾讯、华为角逐“云游戏”
  15. 微信挪车功能成功上线,祝贺一下自己
  16. 老米之家域名投资是什么?域名怎么购买?域名的购买方式?
  17. shell脚本部署俄罗斯方块
  18. R 运行中文文件使乱码的解决方案(案例示例)
  19. 要么出众,要么出局 定制化让企业更出众
  20. 数说热点 | 跟着《长月烬明》起飞,今年各地文旅主打的就是一个听劝

热门文章

  1. 使用cout在命令行输出彩色字体
  2. nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘xxx‘ not found错误的详细解决方法
  3. Linux之mv命令
  4. 住宅与数据中心代理网络
  5. 想做数据分析岗位,互联网数据分析的发展前景怎么样?
  6. VR开发基础(二)一文详解Oculus环境helloxr的openxr核心接口流程
  7. iview 单元格合并
  8. MATLAB 绘图合集: 双对数刻度图 loglog
  9. 0x00000050解决方法
  10. SAP查询当前期间初始库存数量