2015-07-14 1 views
3

J'essaie d'utiliser UIVisualEffectView sur ma vue modalement présentée qui va être connectée en vue de l'utilisateur.Je ne sais vraiment pas ce qui se passe avec UIVisualEffectView.Lorsque l'animation modale apparaît, ça marche bien.Mais, quand l'animation était fait, l'effet tourne au gris foncé, N'importe quelle aide avec ça? Je suis coincé avec ça depuis trop longtemps.Pourquoi ma vue UIVisualEffect présentée de manière modale est-elle en gris foncé?

My Simulator,Also happen on iPhone

My Storyboard

S'il vous plaît aider?

Voici mon code source, Download

Répondre

4

Les vues sous-jacentes disparaîtront une fois qu'un modal les couvre. Pour éviter cela, vous devez régler le UIModalPresentationStyle du contrôleur modal en vue de OverCurrentContext:

ModalVC.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext

+0

Cela corrige pour moi la même question, merci! – Pheepster

0

Je pense que le problème est que vous n'êtes pas présenterez votre UIVisualEffectsView modalement, mais le contrôleur de vue, de sorte que le gris vous voyez est la couleur de fond du contrôleur de vue de droite. Vous pouvez changer cela pour le même dégradé que celui de gauche et voir si cela fonctionne, ou vous devrez afficher votre UIVisualEffectsView sur votre premier viewcontroller.

+0

Ils sont tous faits pour effacer color.Have un regard, http://puu.sh/iYwu5/d2a6b55011.png –

1

La réponse ci-dessus est correcte, mais dans mon cas, mon contrôleur de vue est intégré dans un contrôleur de navigation il n'a pas fonctionné. Cela fait:

vc.navigationController?.modalPresentationStyle = .overCurrentContext