2016-12-07 121 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