2017-08-09 1 views
2

J'ai donc un formulaire qui est présenté de manière modale quand je clique sur un bouton. C'est comme ça.


Comment flouter correctement un UIView en utilisant un UIVisualEffectView?

enter image description here

Je voudrais brouiller la zone grisâtres que vous pouvez voir sur la photo ci-dessus. Ma configuration initiale est: J'ai un UIView, appelé backgroundView et j'ai un autre UIView appelé addIncomeFormView. Voici la disposition initiale de Storyboard. (Je crois que le addIncomeFormView est l'enfant de backgroundView.)

enter image description here



Dans mon dossier de cacao Je l'ai fait.

@IBOutlet var backgroundView: UIView! { 
    didSet { 
     backgroundView.backgroundColor = UIColor.black.withAlphaComponent(0.6) 
     let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.dark) 
     let blurEffectView = UIVisualEffectView(effect: blurEffect) 
     blurEffectView.frame = backgroundView.bounds 
     blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight] 
     backgroundView.addSubview(blurEffectView) 

    } 
} 



Le résultat de le faire est que je reçois quand je clique sur le bouton.

enter image description here



Comment puis-je obtenir le addIncomeFormView (UIView) de ne pas être floue ou autrement dit de s'asseoir sur le dessus du UIView floue?

Répondre

2

Essayez de changer cette ligne: backgroundView.addSubview(blurEffectView) à ceci: backgroundView.insertSubview(blurEffectView, at: 0)

1

Essayez d'envoyer la vue flou à l'arrière après l'avoir ajouté

backgroundView.sendSubviewToBack(blurEffectView)