2016-12-07 115 views
0

我想在ImageView顶部应用图层,使其稍微模糊。透明模糊视图不起作用

class BlurredView: UIView { 
override func draw(_ rect: CGRect) { 
    self.backgroundColor = UIColor.clear 
    let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.extraLight) 
    let blurEffectView = UIVisualEffectView(effect: blurEffect) 
    blurEffectView.backgroundColor = UIColor.clear 
    blurEffectView.frame = self.bounds 
    blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight] 
    self.addSubview(blurEffectView) 
    } 
} 

结果是跟我想象中完全不同: 我把图上的ImageView的顶部,如下继承它。

enter image description here

如何来定制它,使这个模糊轻得多,所以画面仍然显示一些细节?

+1

您是否尝试更改模糊视图的Alpha? – Sealos

+0

这样,它是透明的,但模糊效果似乎没有应用 – DCDC

+0

你不能真正自定义'UIVisualEffectView'的效果。为了获得您期望的模糊效果,您必须实现模糊效果。 '核心图像'是应该帮助你的搜索词。 – dasdom

回答

-3

你不能改变抖动量,你能做的唯一的事情就是改变模糊效果的风格:

UIBlurEffectStyle.light 
UIBlurEffectStyle.extraLight 
UIBlurEffectStyle.dark 

试图改变模糊效果阿尔法。此外,由于您的图像很亮,您应该使用灯光风格而不是额外的灯光,以免失去细节。

let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.light) 
blurEffect.alpha = 0.95 
+1

UIBlurEffect没有alpha属性! – Christophe