J'ai une fonction ci-dessous et quand je créer un lien avec le SDK iOS 11, je reçois une erreur:Avertissement de iOS « Ne pas ajouter de sous-vues directement à la vue de l'effet visuel lui-même »
Do not add subviews directly to the visual effect view itself, instead add them to the -contentView.
Le problème peut être résolu en changeant
let effectView = UIVisualEffectView(effect: UIBlurEffect(style: .dark))"
à
effectView = UIView()
mais l'effet est pas présent de cette façon. Comment puis-je continuer à utiliser UIVisualEffectView
au lieu de UIView
? Je veux garder l'effet.
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)
}