当前位置:
首页 >
IOS实现毛玻璃效果的三种方式
发布时间:2023/12/15
46
生活家
生活随笔
收集整理的这篇文章主要介绍了
IOS实现毛玻璃效果的三种方式
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
方式一:UIToolBar实现毛玻璃特效
在iOS7.0(包括)之前还是有系统的类可以实现毛玻璃效果的, 就是UIToolbar这个类,并且使用相当简单,几行代码就可以搞定.
1 /* 2 毛玻璃的样式(枚举) 3 UIBarStyleDefault = 0, 4 UIBarStyleBlack = 1, 5 UIBarStyleBlackOpaque = 1, // Deprecated. Use UIBarStyleBlack 6 UIBarStyleBlackTranslucent = 2, // Deprecated. Use UIBarStyleBlack and set the translucent property to YES 7 */ 8 UIImageView *bgImgView = [[UIImageView alloc] initWithFrame:self.view.bounds]; 9 bgImgView.image = [UIImage imageNamed:@"huoying4.jpg"]; 10 [self.view addSubview:bgImgView]; 11 12 UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, bgImgView.frame.size.width*0.5, bgImgView.frame.size.height)]; 13 toolbar.barStyle = UIBarStyleBlackTranslucent; 14 [bgImgView addSubview:toolbar];
方式二:UIBlurEffect实现毛玻璃特效
在iOS8.0之后,苹果新增了一个类UIVisualEffectView,通过这个类来实现毛玻璃效果与上面的UIToolbar一样,而且效率也非常之高,使用也是非常简单,几行代码搞定.UIVisualEffectView是一个抽象类,不能直接使用,需通过它下面的三个子类来实现(UIBlurEffect, UIVisualEffevt, UIVisualEffectView)。
子类UIBlurEffect只有一个类方法,用来快速创建一个毛玻璃效果,参数是一个枚举,用来设置毛玻璃的样式。
1 UIImageView *bgImgView = [[UIImageView alloc] initWithFrame:self.view.bounds]; 2 bgImgView.image = [UIImage imageNamed:@"huoying4.jpg"]; 3 bgImgView.contentMode = UIViewContentModeScaleAspectFill; 4 //[bgImgView setImageToBlur: [UIImage imageNamed:@"huoying4.jpg"] blurRadius:20 completionBlock:nil]; 5 bgImgView.userInteractionEnabled = YES; 6 [self.view addSubview:bgImgView]; 7 8 /* 9 毛玻璃的样式(枚举) 10 UIBlurEffectStyleExtraLight, 11 UIBlurEffectStyleLight, 12 UIBlurEffectStyleDark 13 */ 14 UIBlurEffect *effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]; 15 UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:effect]; 16 effectView.frame = CGRectMake(0, 0, bgImgView.frame.size.width*0.5, bgImgView.frame.size.height); 17 [bgImgView addSubview:effectView];
方式三:高斯模糊处理实现毛玻璃效果
这种方法是我比较推荐的方法,利用高斯模糊处理可以很方便的做出毛玻璃特效。
1 UIImageView *bgImgView = [[UIImageView alloc] initWithFrame:self.view.bounds]; 2 //bgImgView.image = [UIImage imageNamed:@"huoying4.jpg"]; 3 bgImgView.contentMode = UIViewContentModeScaleAspectFill; 4 // 对背景图片进行毛玻璃效果处理 参数blurRadius默认是20,可指定,最后一个参数block回调可以为nil 5 [bgImgView setImageToBlur: [UIImage imageNamed:@"huoying4.jpg"] blurRadius:20 completionBlock:nil]; 6 bgImgView.userInteractionEnabled = YES; 7 [self.view addSubview:bgImgView];
总结
以上是生活随笔为你收集整理的IOS实现毛玻璃效果的三种方式的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: python基础-1(网络瓶颈效应,执行
- 下一篇: windows steam错误代码102