美文网首页iOS开发
iOS毛玻璃效果实现

iOS毛玻璃效果实现

作者: Krien | 来源:发表于2017-10-20 11:00 被阅读235次

一.UIToolBar

iOS7 及之前的版本可以使用UIToolBar 快速定义自己的毛玻璃效果

UIImageView *imageView =[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"register_bg.jpeg"]];
imageView.frame =self.view.frame;
[self.view addSubview:imageView];   

UIToolbar *toolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0,0, imageView.frame.size.width/2, imageView.frame.size.height)];
toolbar.barStyle   = UIBarStyleBlackOpaque;
[imageView addSubview:toolbar];
UIToolBar.png

二.UIVisualEffectView类

在iOS8.0之后,苹果新增了一个类UIVisualEffectView,可以快速实现毛玻璃效果。官方文档也提供了几个类的说明

1、UIBlurEffect: 创建模糊效果,也就是毛玻璃效果的类,可以设置风格。
2、UIVibrancyEffect: 作用是放大和调整UIVisualEffectView内容视图的内容的颜色,让UIVisualEffectView的contentView中的内容看起来更加生动
3、UIVisualEffect: 没有任何方法,只是充当一个帮助UIVisualEffectView创建的对象,是UIBlurEffect和UIVibrancyEffect的父类
4、UIVisualEffectView:展示复杂的图像效果。

通常UIVibrancyEffect对象是与UIBlurEffect一起使用,主要用于处理在UIBlurEffect特效上的一些显示效果。

注意:

1、不要直接添加子视图到UIVisualEffectView视图中,而是应该添加到UIVisualEffectView对象的contentView中
2、尽量避免将UIVisualEffectView对象的alpha值设置为小于1.0的值,因为创建半透明的视图会导致系统在离屏渲染时去对UIVisualEffectView对象及所有的相关的子视图做混合操作。这不但消耗CPU/GPU,也可能会导致许多效果显示不正确或者根本不显示。

UIImageView *imageView =[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"register_bg.jpeg"]];
imageView.frame =self.view.frame;
[self.view addSubview:imageView];
    
//iOS 8.0
* * 模糊效果的三种风格
  *
  *  @param UIBlurEffectStyle
  *
  * UIBlurEffectStyleExtraLight,  //高亮
  * UIBlurEffectStyleLight,       //亮
  * UIBlurEffectStyleDark         //暗
* *
UIBlurEffect *blurEffect =[UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];

UIVisualEffectView *effectView =[[UIVisualEffectView alloc]initWithEffect:blurEffect];

effectView.frame = CGRectMake(imageView.frame.size.width/2,0, 
imageView.frame.size.width/2, imageView.frame.size.height);

[self.view addSubview:effectView];
UIBlurEffect.png

相关文章

  • 实现div毛玻璃背景

    原文在我的博客☞实现div毛玻璃背景 毛玻璃效果 ios里毛玻璃效果的使用非常多,本文介绍一个实现div毛玻璃背景...

  • iOS之原生毛玻璃效果

    iOS 8之后 iOS提供了实现原生毛玻璃效果的接口,使用起来也非常方便,先简单看看效果图 使用方法 在添加毛玻璃...

  • 安卓模糊效果探讨

    在项目中我们或多或少的需要根据产品的要求,实现类似于ios的毛玻璃效果。在ios中毛玻璃的实现,比较简单,系统提供...

  • iOS-小Demo--下拉放大顶部图片+毛玻璃效果

    记录一个简单的下拉顶部图片放大的效果,再加个毛玻璃! iOS8之后毛玻璃效果实现:利用 UIVisualEffec...

  • Html开发-安卓毛玻璃无效果解决办法

    毛玻璃实现代码: filter:blur(value); value为毛玻璃模糊程度。 该效果在Ios开无任何问...

  • 高斯模糊

    高斯模糊 【iOS 开发】实现毛玻璃(高斯模糊)效果 - CocoaChina_让移动开发更简单

  • iOS毛玻璃效果的实现方法

    ios开发中常常用到的毛玻璃效果实现方法 iOS8以后使用系统里的UIBlurEffect可以实现,UIBlurE...

  • UIVisualEffectView 毛玻璃效果

    UIVisualEffectView是从iOS 8开始提供的控件,功能是创建毛玻璃(Blur)效果,也就是实现模糊...

  • ios实现毛玻璃效果

    我们开发中可能经常会使用到给图片添加毛玻璃效果,ios7以后毛玻璃效果就开始比较多的使用了,系统提供了一种简单实现...

  • iOS 实现毛玻璃效果

    网上看到一遍文章,感觉写的挺清爽的,想收藏,但是又怕链接失效,所以在这里备份一下,顺便给作者点个赞;原文地址:ht...

网友评论

    本文标题:iOS毛玻璃效果实现

    本文链接:https://www.haomeiwen.com/subject/elouuxtx.html