美文网首页selector
UIVisualEffectView毛玻璃效果

UIVisualEffectView毛玻璃效果

作者: JackfengGG | 来源:发表于2017-05-26 09:31 被阅读334次

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版本之前设备上没有高斯模糊效果。

相关文章

网友评论

    本文标题:UIVisualEffectView毛玻璃效果

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