ios创建毛玻璃


代码


虚化前
虚化后



//先添加一张背景图

UIImageView *bgImageView = [[UIImageView alloc]initWithFrame:self.view.bounds];

bgImageView.image = [UIImage imageNamed:@"bg"];

[self.view addSubview:bgImageView];

//为背景图加上一层虚化

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

visualView.frame = self.view.bounds;

[self.view addSubview:visualView];


总结

在进行虚化的时候,尽量不要为模糊层设置alpha小于1的值,否则显示可能会出错。

首先,UIVisualEffectView是继承自UIView的类,包含了contentView属性和initWithEffect:初始化方法

用初始化方法为UIVisualEffectView初始化一个UIVisualEffect效果,UIVisualEffect可以为UIBlurEffect和UIVibrancyEffect(这两个类继承自UIVisualEffect).

UIBlurEffect只对模糊层下方有效,对contentView无效。UIVibrancyEffect只对contentView有效,模糊层下方无效。一般配合使用。

通过视图层可以看到一个UIVisualEffectView其实只是在背景上面多了三个笼罩层,并没有对背景图片进行实质改变。三个笼罩层中最下面的层就是UIVisualEffectView层,是后面两个层的父视图。


视图层

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容