2016-10-16 2 views
0

J'ai 1custom UIView dans ma vue par défaut dans viewcontroller.
Mon besoin est que si un bouton est cliqué, ma vue principale par défaut devient flou et la vue personnalisée reste inchangée.
Et un clic est de nouveau cliqué sur la vue estompée revient à l'effet normal.
J'ai utilisé le UIBlurEffect et UIVisualEffectView pour rendre le flou.
Mais le problème est que la vue entière s'est estompée.Rendre flou uiview qui contient une vue personnalisée que je veux rester non blanchie

Répondre

1

Je n'ai pas encore essayé les points de vue des effets, mais ils ont l'air comme ils participent comme de bons citoyens dans la hiérarchie de la vue. Si cela est vrai, alors cela devrait fonctionner ...

// assume aView is the view you want blurred, and 
// aSubview is the view you want to remain unblurred 

[aSubview removeFromSuperview]; 
// apply the effect view to aView 
[aView addSubview:aSubview]; 
+0

Thks et ça marche. –

1

Appliquez-le à votre vue uniquement pour la rendre floue. Essayez:

UIVisualEffect *MyblurEffect; 
MyblurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]; 

UIVisualEffectView *visualEffectView; 
visualEffectView = [[UIVisualEffectView alloc] initWithEffect:MyblurEffect]; 

visualEffectView.frame = MyVIEW.bounds; 
[MyVIEW addSubview:visualEffectView]; //MyVIEW-> your view 

Essayez avec ces liens: How to apply blur to a UIView?

+0

J'ai utilisé le même code. Je veux que l'affichage par défaut soit flou. Mais le problème est que ma vue personnalisée repose sur la vue par défaut. Donc, si j'essaie de flouter le flou de la vue principale, ma vue personnalisée est également floutée car elle se trouve sur la vue principale. Y a-t-il quelque chose qui supprime le UIVisualEffectView de ma vue personnalisée? UIVisualEffectVIew doit sous-afficher la vue principale –

+0

Vérifiez le lien. –