iOS 不一样的毛玻璃效果

iOS 8 苹果开放了毛玻璃效果的控件UIBlurEffect和UIVisualEffectView

// 毛玻璃视图
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
    effectView.frame = CGRectMake(0, 0, 375, 500);
    
    [self.view addSubview:effectView];

系统提供的毛玻璃类型

UIBlurEffectStyleExtraLight,
UIBlurEffectStyleLight,
UIBlurEffectStyleDark

亮色和黑色,但是有时候这些样式并不能满足项目中UI的需求
问题:如何自定义自己想要的颜色?
当改变系统样式的时候,查看图层,发现一个_UIVisualEffectFilterView控件的背景颜色发生了改变。试着改变_UIVisualEffectFilterView的背景颜色。

for (UIView *view in effectView.subviews) {
        if ([view isKindOfClass:NSClassFromString(@"_UIVisualEffectFilterView")]) {
            view.backgroundColor = [UIColor colorWithRed:83/255.0 green:24/255.0 blue:79/255.0 alpha:0.8];
        }
    }

效果图


iOS 不一样的毛玻璃效果_第1张图片
自定义毛玻璃样式.png

注意:颜色需要透明度,不然看不到下面的的图层。
===========================================
喜欢我就点我吧

你可能感兴趣的:(iOS 不一样的毛玻璃效果)