App设计时往往会用到一些模糊效果或者毛玻璃效果
// UIBlurEffectStyleExtraLight,//额外亮度,(高亮风格)
// UIBlurEffectStyleLight,//亮风格
// UIBlurEffectStyleDark//暗风格
// 第一个UIBlurEffect是用来进行设置毛玻璃的效果
UIBlurEffect *blur = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
// 第二个类是毛玻璃的视图
UIVibrancyEffect的作用是放大和调整UIVisualEffectView内容视图的内容的颜色,让UIVisualEffectView的contentView中的内容看起来更加生动。它作为一个子视图被放置在UIVisualEffectView上面,去连接UIBlurEffect。这种效果只会影响添加到UIVisualEffectView的contentView上的内容。因为活力影响是受颜色依赖的.....
UIVisualEffectView *vis = [[UIVisualEffectView alloc] initWithEffect:blur];
/*注:尽量避免将UIVisualEffectView对象的alpha值设置为小于1.0的值,
因为创建半透明的视图会导致系统在离屏渲染时去对UIVisualEffectView对象
及所有的相关的子视图做混合操作。这不但消耗CPU/GPU,也可能会导致许多效果
显示不正确或者根本不显示。*/
// 尽量给毛玻璃设置透明度
vis.alpha = 0.9;
vis.frame = CGRectMake(0, 0, self.icon.bounds.size.width, self.icon.bounds.size.height);
self.vis = vis;
[self.icon addSubview:vis];
如果想在xib中直接放一个UIVisualEffectView,则工程的deployment target需要8.0以上,否则会报错编译不过。
但是在xib中放置UIToolbar并且通过代码设置相关属性以实现高斯模糊,工程的deployment target只要是5.0以上都可以编译通过,只不过在iOS7版本之前设备上没有高斯模糊效果。