2

J'essaie de faire fondre un arrière-plan UIBlur lorsque la page est entrée dans un PageViewController. Par exemple, la page 1 n'a pas de flou d'interface utilisateur en arrière-plan, mais je souhaite que la page 2 noircisse un flou foncé sur l'arrière-plan du contrôleur lorsque la page s'affiche.Fondu dans l'objet à la page Activer l'affichage de la page Contrôleur

Qu'advient est actuellement la page apparaît, la demi-seconde plus tard, le flou est appliqué.

Voici ce que j'ai actuellement la page 2:

@IBOutlet weak var blurEffect: UIVisualEffectView! 


     override func viewDidLoad() { 
      super.viewDidLoad() 
      let overlay = blurEffect 
      overlay.effect = nil 
     } 

     override func viewDidAppear(animated: Bool) { 
      let overlay = blurEffect 
      overlay.effect = nil 
      UIView.animateWithDuration(0.5) { 
       overlay.effect = UIBlurEffect(style: .Dark) 
      } 
     } 
+0

Avez-vous essayé votre code de flou dans 'viewWillAppear (_ :)'? – keithbhunter

+0

Oui, je veux qu'il se fanent comme il se présente dans la transition vers la page suivante dans le Page View Controller :) –

Répondre

0

Il est pas clair ce que vous voulez vraiment, mais si vous voulez présenter un contrôleur de vue sur un autre où vous êtes flou le contrôleur de vue de présentation comme arrière-plan pour le vi présenté nouveau contrôleur. Vous devez:

  1. Modifier la couleur d'arrière-plan de la vue du contrôleur de vue présentée pour effacer la couleur.
  2. Ajout d'une UIVisualEffectView en bas de la hiérarchie de vue du contrôleur de vue présenté.
  3. Changement de la section en une section modale ou présentation modale du contrôleur de vue.
  4. Changer le style de présentation de la Segue à plus de contexte actuel ou le réglage de la présentation du contrôleur de vue présenté viewController.modalPresentationStyle = .OverCurrentContext
  5. changement de transition soit Fondu ou couverture verticale viewController.modalTransitionStyle = .CoverVertical

Je suis sûr que vous pouvez appliquer cette technique d'autres façons, bien que ce soit une performance coûteuse.

+0

Mes excuses, j'ai oublié de dire qu'il est à l'intérieur d'un contrôleur de page View. J'essaie de le faire disparaître en présentant la page suivante. J'ai fait quelques modifications. J'apprécie la réponse! –

+0

Vous n'êtes pas satisfait de l'animation ou n'êtes-vous pas satisfait du timing? – beyowulf

+0

Tristement non, je veux qu'il soit réactif et s'estompe lorsque vous tournez la page. Donc, si vous deviez seulement glisser à mi-chemin, cela s'appliquerait comme un alpha de .5 et changerait en même temps que le mouvement de la diapositive. –

0

Les propriétés suivantes de la classe UIView sont animable:

cadre @property

@property limites

@property center

@property transform

@property alpha

@property backgroundColor

@property contentStretch

Apple documentation