毛玻璃
2016-06-25 16:01
309 查看
从iOS7之后毛玻璃效果就被大量使用,最常见的就是导航栏的毛玻璃效果
下面我将介绍如何实现这种毛玻璃效果,并且把他们的性能进行一个对比
方法一:在iOS7的时候系统为我们提供了一个工具来帮我们实现毛玻璃效果
方法二:在iOS8的时候,系统专门有一个方法来实现毛玻璃效果
方法三:网上有大神写的毛玻璃的工具类,只需一行代码就可以实现毛玻璃的效果
但是这样比较消耗性能,因为他们的方法一般都是把每一个px计算出来然后在进行处理
下面来对比一下三个方法的性能差距
从上面可以看出系统提供的方法在运行时间和内存消耗还是比较少的,所以推荐使用系统的方法
下面我将介绍如何实现这种毛玻璃效果,并且把他们的性能进行一个对比
_imageView = [[UIImageView alloc]initWithFrame:self.view.bounds]; _imageView.backgroundColor = [UIColor brownColor]; _imageView.image = [UIImage imageNamed:@"abc.jpg"]; _imageView.contentMode = UIViewContentModeScaleAspectFit; [self.view addSubview:_imageView];
方法一:在iOS7的时候系统为我们提供了一个工具来帮我们实现毛玻璃效果
//iOS7 NSLog(@"_____Begin"); UIToolbar *toolbar = [[UIToolbar alloc]initWithFrame:self.imageView.bounds]; toolbar.barStyle = UIBarStyleBlackTranslucent; [_imageView addSubview:toolbar]; NSLog(@"_____End");
方法二:在iOS8的时候,系统专门有一个方法来实现毛玻璃效果
//iOS8以后 NSLog(@"_____Begin"); UIBlurEffect *effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]; UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:effect]; effectView.frame = self.imageView.bounds; [_imageView addSubview:effectView]; NSLog(@"_____End");
方法三:网上有大神写的毛玻璃的工具类,只需一行代码就可以实现毛玻璃的效果
但是这样比较消耗性能,因为他们的方法一般都是把每一个px计算出来然后在进行处理
//通用 NSLog(@"_____Begin"); _imageView.image = [UIImage boxblurImage:_imageView.image withBlurNumber:0.5]; NSLog(@"_____End");
下面来对比一下三个方法的性能差距
/* ios8 2016-06-24 18:13:39.625 ImageVague[2930:193821] _____Begin 2016-06-24 18:13:39.627 ImageVague[2930:193821] _____End 内存消耗:18.4 ios7 2016-06-24 18:14:37.371 ImageVague[2943:194734] _____Begin 2016-06-24 18:14:37.373 ImageVague[2943:194734] _____End 内存消耗:18.4 通用 2016-06-24 18:17:00.658 ImageVague[2993:197383] _____Begin 2016-06-24 18:17:00.662 ImageVague[2993:197383] _____End 内存消耗:18.9 */
从上面可以看出系统提供的方法在运行时间和内存消耗还是比较少的,所以推荐使用系统的方法
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- Android打造带透明圆弧的ImageView
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 选定虚拟主机 性能凸显优势
- 修改一行代码提升 Postgres 性能 100 倍
- redis的hGetAll函数的性能问题(记Redis那坑人的HGETALL)
- 推荐Sql server一些常见性能问题的解决方法
- SQL Server误区30日谈 第9天 数据库文件收缩不会影响性能
- 和表值函数连接引发的性能问题分析
- SQLServer 2000 升级到 SQLServer 2008 性能之需要注意的地方之一
- 数据库性能优化三:程序操作优化提升性能
- VBS中的字符串连接的性能问题
- Android编程UI设计之GridView和ImageView的用法
- 基于Android实现随手指移动的ImageView
- Android使用ImageView 制作透明圆弧实例代码