使用iOS 8 SDK添加毛玻璃(Blur)效果
来源:互联网 发布:华为面试经验知乎 编辑:程序博客网 时间:2024/05/16 13:52
苹果在iOS 7中将界面改为扁平化,并大量使用了毛玻璃效果,下图所示为控制中心的毛玻璃效果。
但是iOS 7 SDK本身并未向开发者公开提供毛玻璃效果的API,因此开发者只能去自己实现毛玻璃效果或者找第三方类库解决。而现在,iOS 8 SDK中直接提供了UIBlurEffect类与UIVisualEffectView类,可以实现毛玻璃效果。这两个类的使用方法非常简单,步骤是:
1. 创建UIBlurEffect类的实例,并指定某一种毛玻璃效果。
2. 创建UIVisualEffectView类的实例,将步骤1中的UIBlurEffect类的实例应用到UIVisualEffectView类的实例上。
3. 将UIVisualEffectView类的实例置于待毛玻璃化的视图之上即可。
下面以一个简单的例子来演示,效果如下图所示。
首先创建一个新的项目,在项目中随便添加一个图片文件。在Main.storyboard中拖入一个UIImageView,设置其内容为刚加入的图片。为了实现毛玻璃效果,我们需要在此UIImageView的上方放置一个UIVisualEffectView。在Xcode的Object Library中找到Visual Effect View with Blur。
这里Visual Effect View with Blur就是一个UIVisualEffectView的实例,注意到UIVisualEffectView继承自UIView,因此它就是一个视图,可以直接拖拽到界面中。
所有位于UIVisualEffectView下方的视图,以及UIVisualEffectView的contentView中的视图会被毛玻璃化。
值得一提的是,如果位于下方的视图的内容是动态的,那么毛玻璃效果也会跟随动画发生变化。我们可以给上面的UIImageView添加动画:
override func viewWillAppear(animated: Bool) { leadingCons.constant = 0 UIView.animateWithDuration(5.0, animations: { () -> Void in self.leadingCons.constant = 200 self.imageView.layoutIfNeeded() }) }
上面的代码会让UIImageView向右移动,运行后可以看到毛玻璃视图的内容也会跟随发生变化。
如果需要用代码实现毛玻璃效果,则代码为:
override func viewDidLoad() { super.viewDidLoad() let blurEffect = UIBlurEffect(style: .Light) let blurView = UIVisualEffectView(effect: blurEffect) view.addSubview(blurView) }其中UIBlurEffect构造方法中需要传入UIBlurEffectStyle枚举参数:
enum UIBlurEffectStyle : Int { case ExtraLight case Light case Dark}
项目代码:
点击打开链接
- 使用iOS 8 SDK添加毛玻璃(Blur)效果
- iOS开发--毛玻璃效果(UIImage+Blur)直接拿去
- iOS SDK详解之模糊(毛玻璃)效果效果
- filter:blur() 实现毛玻璃效果
- wpf 实现实时毛玻璃(live blur)效果
- Android快速SDK(8)毛玻璃效果BlurView【傻瓜模式】
- iOS 8 毛玻璃效果(模糊)
- iOS毛玻璃(虚化)效果
- 尝试Android的毛玻璃(Blur)效果
- IOS关于毛玻璃效果的使用
- 移动端UI设计越来越流行的高斯模糊(Gaussian blur)和毛玻璃效果(磨砂效果),如何使用Android RenderScript简单实现?
- iOS系统SDK实现毛玻璃效果(swift版 iOS8.0及其以上)
- iOS毛玻璃效果的实现(针对iOS8以上SDK)
- iOS8 添加毛玻璃效果
- Swift - 实现毛玻璃效果(Blur、模糊、虚化背景元素)
- iOS背景虚化(毛玻璃效果)
- iOS 毛玻璃效果
- ios 毛玻璃效果
- 寒假算法第三编——小猫钓鱼游戏(栈与队列综合问题)
- CodeForce 508C Anya and Ghosts (贪心+模拟)
- 获取谷歌语音库单词发音
- C#.NET实现Word或Excel文件转为HTML文件
- 快速掌握LODOP打印使用方法
- 使用iOS 8 SDK添加毛玻璃(Blur)效果
- Python的字符串格式化
- js 上传图片自适应大小
- 最近(2015-2-2)
- 群策CRM:打造微时代营销利器
- SERIAL_NUM 的追溯
- 正则表达式30分钟入门教程
- C算法->指针操作
- VirtualBox上Ubuntu Server虚拟机配置双网卡