css毛玻璃效果白边_【iOS】 一个模糊(毛玻璃)效果引发的探索

本文介绍了在iOS开发中实现毛玻璃效果的多种方式,包括苹果原生的UIVisualEffectView、Core Image滤镜效果、vImage、GPUImage框架以及FXBlurView第三方库。每种方法都有其特点和适用场景,例如UIVisualEffectView适用于静态效果,Core Image可能产生白边,vImage和GPUImage利用GPU加速,FXBlurView则支持动态模糊。
摘要由CSDN通过智能技术生成

剧情介绍

在iOS开发中,经常会看到毛玻璃效果,也叫模糊效果,比如系统的通知中心,这个很时髦的效果增加了美观性。

通知中心的模糊效果

查看资料发现实现毛玻璃效果有很多种方式,下面总结了其中几种方式。

静态模糊效果

对于静态的模糊效果,最直接的方式就是加载做好的模糊图片

动态模糊效果

苹果原生控件:UIVisualEffectView

苹果原生API:Core Image 的滤镜效果

苹果原生API:vImage

使用第三方工具GPUImage

使用第三方工具FXBlurView

...

一、苹果原生控件:UIVisualEffectView实现模糊效果

UIVisualEffectView是iOS8的新特性,该控件主要用于为原有的控件增加模糊效果。

由于是iOS8的新特性,所以具有一定的局限性。

UIVisualEffectView继承自UIView,没有继承UIControl,所以只能做静态控件使用。

控制UIVisualEffectView控件模糊效果的属性时effect只读属性,该属性的类型是UIVisualEffect,该类型有两个子类:UIBlurEffect和UIVibrancyEffect。

UIBlurEffect允许应用程序中动态的创建实时的模糊效果;UIVibrancyEffect允许在模糊效果上“写字”。

Blur Style有三种效果:

UIBlurEffectStyleLight:白色的模糊效果。

UIBlurEffectStyleExtraLight:极亮的白色模糊效果。

UIBlurEffectStyleDark:暗色的模糊效果。

可以通过在Interface Bulider中将UIVibrancyEffect控件直接拖入某个控件内添加模糊效果,也可以通过纯代码的形式创建和添加。

// UIBlurEffectStyleLight模式

UIVisualEffectView *lightView = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]];

lightView.frame = CGRectMake(40, 40, 300, 100);

[self.imageView addSubview:lightView];

// UIBlurEffectStyleExtraLight模式

UIVisualEffectView *extraLightView = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleExtraLight]];

extraLightView.frame = CGRectMake(40, 160, 300, 100);

[self.imageView addSubview:extraLightView];

// UIBlurEffectStyleD

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值