Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UIVisualEffectView not working on iPhone 6

It appears that the UIVisualEffectView does not blur the background when run on iPhone 6/6S. I have only seen one other person mention this, on the Apple Developer Forums, but nothing here.

I've written a sample project to demonstrate this. All you have to do is run this on an actual iPad and an iPhone 6 and you'll see. Note you'll need to add an image to your project.

It works fine in the simulator, but the blur view is opaque when run on an actual iPhone 6 or 6S.

My simple view controller:

class ViewController: UIViewController {

  override func viewDidLoad() {
    super.viewDidLoad()

    let effectView = UIVisualEffectView.init(effect: UIBlurEffect.init(style: .Light))
    effectView.frame = CGRectMake(20, 100, 200, 200)

    let imageView = UIImageView.init(image: UIImage(named: "image"))
    imageView.contentMode = UIViewContentMode.ScaleAspectFill
    imageView.frame = self.view.bounds

    self.view.addSubview(imageView)
    self.view.addSubview(effectView)
  }

}

I'm using Xcode 7 GM and running iOS 9.0.2 on both iPad Mini 2 and iPhone 6S.

like image 534
Ben Thomas Avatar asked Oct 01 '15 00:10

Ben Thomas


1 Answers

I had Reduce Transparency turned off in the Accessibility settings of my iPhone.

like image 56
Ben Thomas Avatar answered Nov 17 '22 10:11

Ben Thomas