I'm using this code to create a blur effect inside my view:
let blur = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.Light))
blur.frame = CGRectMake(180, 10, 200, 750)
myView.addSubview(blur)
is there any way to tweak the gaussian function producing the blur in order to achieve different level of "out of focus" effect?
Since there is no other parameter in UIBlurEffect
, I think the only way is to use the CIFilter preset CIGaussianBlur
to blur the background View and use its key inputRadius
to adjust the level.
If you want to achieve the same effect as so called light
/dark
/ExtraLight
, you can compose this filter with other filters.
The radius of the actual UIBlurEffect
cannot change, but there is a workaround.
Changing the alpha
component of the UIVisualEffectView
, will give a subtle blur effect.
let blur = UIVisualEffectView(effect: UIBlurEffect(style: UIBlurEffectStyle.Light))
blur.frame = CGRectMake(180, 10, 200, 750)
blur.alpha = 0.4
myView.addSubview(blur)
Swift 3
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.extraLight)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.alpha = 0.4
blurEffectView.frame = self.bounds
self.addSubview(blurEffectView)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With