2016-12-07 3 views
0

ImageViewの上にレイヤーを適用し、少しぼかしています。 私は次のようにそれをサブクラス化、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) 
    } 
} 

結果は、私が期待したものとは全く異なっています。

enter image description here

どのようにこのブラーははるかに軽い作ってそれをカスタマイズするには、その絵は、まだいくつかの詳細を示して?ぼかし効果のアルファを変更しようと

UIBlurEffectStyle.light 
UIBlurEffectStyle.extraLight 
UIBlurEffectStyle.dark 

:あなたはボケ量を変更することはできません

+1

ぼかし表示のアルファ値を変更しようとしましたか? – Sealos

+0

この方法では透明ですが、ぼかし効果は適用されないようです。 – DCDC

+0

'UIVisualEffectView'の効果を実際にカスタマイズすることはできません。あなたが期待するぼかしを得るためには、自分でぼかしを実装する必要があります。 'Core Image'はあなたを助けるはずの検索語です。 – dasdom

答えて

-3

、あなたが行うことができる唯一のことは、ぼかし効果のスタイルを変更することです。また、あなたのイメージは明るいので、詳細を失わないためにライトスタイルを使用し、余分なライトを使用しないでください。

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

UIBlurEffectにはアルファプロパティはありません! – Christophe

関連する問題