iOS-BlurEffect模糊效果总结
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模糊效果总结相关推荐
- android ios动态模糊效果,iOS实现模糊效果的几种方法
iOS系统中大量使用了模糊效果,背景模糊,使得靠前的内容更容易获得用户的关注,自己开发中肯定也遇到过样的需求.今天就总结一下常用的实现模糊效果的方法,目录如下图: 本篇demo:iOS常用模糊效果de ...
- iOS 图片模糊效果(高斯模糊)
- GitHub上排名前100的iOS开源库介绍(来自github)
主要对当前 GitHub 排名前 100 的项目做一个简单的简介,方便初学者快速了解到当前 Objective-C 在 GitHub 的情况. 项目名称 项目信息 1. AFNetworking 作者 ...
- iOS开发必读-GitHub 上Top100 的 Objective-C 项目
这篇文章是官方账号在简书推出的文章,感兴趣的请点击下面: 点我看<iOS开发必读-GitHub 上Top100 的 Objective-C 项目> 简单摘录5个项目: 1.AFNetwor ...
- iOS GitHub Top 100 简介
GitHub Top 100 简介 主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况. Android 版 ...
- GitHub 上排名前 100 的 IOS 开源库介绍
转自:https://github.com/Aufree/trip-to-iOS/blob/master/Top-100.md 主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便 ...
- iOS本地数据存储安全
iOS本地数据存储安全 移动APP通常会在设备本地存储一些数据,这可以为程序执行.更良好地性能或离线访问提供支持.由于移动设备使用地越来越广泛,设备失窃的风险也越来越大,因此不安全的本地数据存储已成为 ...
- GitHub 排名前 100 的安卓、iOS项目简介
GitHub Android Libraries Top 100 简介 转自:http://www.devstore.cn/essay/essayInfo/6485.html 排名完全是根据 GitH ...
- iOS 学习资料整理
这份学习资料是为 iOS 初学者所准备的, 旨在帮助 iOS 初学者们快速找到适合自己的学习资料, 节省他们搜索资料的时间, 使他们更好的规划好自己的 iOS 学习路线, 更快的入门, 更准确的定位的 ...
- iOS在GitHub Top 前100 简介
主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况. 项目名称 项目信息 1. AFNetworking 作 ...
最新文章
- java开源的cms系统jsp cms系统
- python股票涨势_stock
- ATPCS和AAPCS
- LightOJ 1422 Halloween Costumes
- vue新手入门——vue-cli搭建
- select count(*) from返回的类型_数据分析面试题类型汇总
- 阵列卡直通模式和raid模式_DNF:希洛克Raid攻坚流程攻略
- python 迭代器 生成器
- 设置元素浮动的几种方式
- 深入解读Linux内存管理系列(3)——MMU初始化和页表的建立
- linux降内核版本_linux内核降级
- 计算机类中英附录,欧盟GMP附录11-计算机系统(中英文对照).pdf
- 列举1000以内的水仙花数,并求出水仙花数的个数
- 腾讯、华为角逐“云游戏”
- 微信挪车功能成功上线,祝贺一下自己
- 老米之家域名投资是什么?域名怎么购买?域名的购买方式?
- shell脚本部署俄罗斯方块
- R 运行中文文件使乱码的解决方案(案例示例)
- 要么出众,要么出局 定制化让企业更出众
- 数说热点 | 跟着《长月烬明》起飞,今年各地文旅主打的就是一个听劝
热门文章
- 使用cout在命令行输出彩色字体
- nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘xxx‘ not found错误的详细解决方法
- Linux之mv命令
- 住宅与数据中心代理网络
- 想做数据分析岗位,互联网数据分析的发展前景怎么样?
- VR开发基础(二)一文详解Oculus环境helloxr的openxr核心接口流程
- iview 单元格合并
- MATLAB 绘图合集: 双对数刻度图 loglog
- 0x00000050解决方法
- SAP查询当前期间初始库存数量