title: Warning from iOS "Do not add subviews directly to the visual effect view itself"
body: <p>I have a function below and when I link with the iOS 11 SDK, I get an error:</p>
  
  <blockquote>
    <p>Do not add subviews directly to the visual effect view itself, instead add them to the -contentView.</p>
  </blockquote>
  
  <p>The problem can be solved by changing </p>
  
  <pre><code>let effectView = UIVisualEffectView(effect: UIBlurEffect(style: .dark))"
  </code></pre>
  
  <p>to</p>
  
  <pre><code>effectView = UIView()
  </code></pre>
  
  <p>but the effect is not present that way. How can I keep using <code>UIVisualEffectView</code> instead of <code>UIView</code>? I want to keep the effect. </p>
  
  <pre><code>let imagePicker = UIImagePickerController()
  let messageFrame = UIView()
  var activityIndicator = UIActivityIndicatorView()
  var strLabel = UILabel()    
  let effectView = UIVisualEffectView(effect: UIBlurEffect(style: .dark))
  
  func activityIndicator(_ title: String) {  
      strLabel.removeFromSuperview()
      activityIndicator.removeFromSuperview()
      effectView.removeFromSuperview()
  
      strLabel = UILabel(frame: CGRect(x: 50, y: 0, width: 160, height: 46))
      strLabel.text = title
      strLabel.font = UIFont.systemFont(ofSize: 14, weight: UIFont.Weight.medium)
      strLabel.textColor = UIColor(white: 0.9, alpha: 0.7)
  
      effectView.frame = CGRect(x: (view.frame.midX - strLabel.frame.width/2), y: (view.frame.midY - strLabel.frame.height/2), width: 160, height: 46)
      effectView.layer.cornerRadius = 15
      effectView.layer.masksToBounds = true
  
      activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: .white)
      activityIndicator.frame = CGRect(x: 0, y: 0, width: 46, height: 46)
      activityIndicator.startAnimating()
  
      effectView.addSubview(activityIndicator)
      effectView.addSubview(strLabel)
      view.addSubview(effectView)
  }
  </code></pre>