blur effect of UIVisualEffect is not working - ios

I have an ImageView that I want to apply blurEffect on it. I tried doing it from storyboard and programmatically but it's still not working . it's keep showing gray solid background.
I saw many videos on Youtube and many tutorials on the internet but still the same!
this is the code that I'm using right now.
view.addSubview(imageView)
let blur = UIBlurEffect(style: UIBlurEffect.Style.light)
let blureView = UIVisualEffectView(effect: blur)
blureView.frame = view.bounds
view.addSubview(blureView)
and here what I'm getting

Related

Blurred UIImageView Sizing Problems

A UIViewController I'm presenting has a UIImageView, namely backgroundImageView, to be the VC's background and set to fill the whole screen.
I want the UIImageView to be presented with a dark blur effect provided by iOS but the following sizing issue temporarily occurs(on device but not on the simulator) when I first present the view controller:
Inside viewDidLoad():
// `locationImage` is passed during the segue
backgroundImageView.image = locationImage
backgroundImageView.contentMode = .scaleAspectFill
let blurEffect = UIBlurEffect(style: .dark)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = backgroundImageView.bounds
blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
backgroundImageView.addSubview(blurEffectView)
The above view controller's modalPresentationStyle is set to be as currentContext.
If I temporarily remove the blur effect, I see that the background image I gave the view controller got properly set. However once the blur effect is applied, sizing issues occur momentarily.
What exactly is causing this?
Try to set the frame of blurEffectView inside viewWillLayoutSubviews() or in viewDidLayoutSuviews()
here you can find more information about viewcontroller's lifecycle

iOS 10 - Blurred Background doesn't work anymore

Does anyone has problems with the UIBlurEffect on iOS10 ?
For some Reason the background of my button etc just gets a bit transparent and doesn't blurr anymore....
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.ExtraLight)
blurBackgroundView = UIVisualEffectView(effect: blurEffect)
blurBackgroundView.frame = frame
button = UIButton(frame: frame)
blurBackgroundView.layer.masksToBounds = true
backgroundColor = UIColor.clearColor()
addSubview(blurBackgroundView)
addSubview(button)
that's how the code looks....
If I change UIBlurEffectStyle.ExtraLight to UIBlurEffectStyle.Prominent based on the new documentation the Button is just clear... so no color at all!
Add whatever you want not to be blurred to your blurBackgroundView. So instead of:
addSubview(blurBackgroundView)
addSubview(button)
You'll have to:
blurBackgroundView.addSubview(button)
addSubview(blurBackgroundView)
Now every item in the current view, below your blurBackgroundView will get blurred, while your button will stay as it is.

Add UIView over blurred UIView

I am trying to create a popup menu over a blurred background. I created the function below to blur the view which works great, but when I try to add the menu, it gets blurred as well. I suppose I could take a snapshot of my view and put that under my popup, but I'm guessing there's a better way...
func blurView() {
let blurEffect = UIBlurEffect(style: .Light)
let effectView = UIVisualEffectView(effect: blurEffect)
effectView.frame = view.frame
view.addSubview(effectView)
effectView.alpha = 0
UIView.animateWithDuration(2.0) { effectView.alpha = 0.8 }
}
If you are just unhiding a previously added menu view to show the menu, then the blurView (which was just added) is probably in front of your menu view as well as everything else. After you add the blurView, when you want to show the menu, try something like:
menuView.hidden = false
view.bringSubviewToFront(menuView)
That should move the menu in front of the effect view so it doesn't get blurred.

adding blur effect to background of a log in view controller in swift

I am setting a background image to a parse login view controller. But also want to add this background How can I achieve this?
Here is the code I am using:
backgroundImage.image = UIImage(named: "Melbourne")
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = view.bounds
view.addSubview(blurEffectView)
The problem is that this blurs everything including all the buttons and username and password fields. What can I do?
It is because you are adding your blur view over all the subviews of the view controllers.
try to insert at specific index in view hierarchy.
I have no proper idea of the view hierarchy of your viewController.
Do it using try&Error method like below.
try below code.
view.insertSubview(blurEffectView, atIndex: 1);
if not works try by increasing the index value 2 and so on.
view.insertSubview(blurEffectView, atIndex: 2);// if not change it to 3
It will surely works with specific value.

ios8 blur effect disappear

Thanks for reading my question
I had some trouble stabilizing the intensity of blur effect
I had a UIImageView with blur effect (Extralight) which covered the whole view as a background
The intensity of the blur effect looked just fine
But after I added items onto the storyboard
the blur effect dimmed so much almost disappear
sorry i don't have enough reputation to upload pictures
anyone know what caused it, and how to solve?
Thank you very much!
override func viewDidLayoutSubviews() {
// set bg image and blur
bg.image = UIImage(named: "my portrait")
var blurEffect = UIBlurEffect(style: UIBlurEffectStyle.ExtraLight)
var blurView = UIVisualEffectView(effect: blurEffect)
blurView.frame = bg.bounds
bg.addSubview(blurView)
}
I think I found the reason
It is because the blur view is added under function ViewDidLayoutSubview
So the blur is added multiple times
That's the reason it's looks dimmer and dimmer

Resources