2016-11-30 7 views
1

Gibt es eine andere Methode, einen unscharfen Hintergrund für ein Popup hinzuzufügen, ohne Bildansicht zu verwenden und einen Schnappschuss des vorherigen Fensters zu machen.Hinzufügen eines unscharfen Hintergrundbildes

+0

Mögliche Duplikat [Erstellen einer Verwischung Overlay-Ansicht] (http://stackoverflow.com/questions/17041669/creating-a-blurring-overlay-view) – courteouselk

Antwort

1

Es ist ziemlich einfach.

Alles, was Sie brauchen, ist eine "visuelle Effektansicht mit Unschärfe und Lebendigkeit" -Ansicht. Sie können es direkt aus der Objektbibliothek hinzufügen. Ziehen Sie einfach die Ansicht und legen Sie sie ab. Sie können die Hintergrundfarbe bei Bedarf zu löschen, und Sie können den Grad der Unschärfe zu Licht, extra Licht etc gesetzt .... Nur durch diese Stoffe

+0

Danke Mann, es hat funktioniert. Ich musste die Bildansicht nicht verwenden. –

0

Ja, werfen Sie einen Blick auf UIVisualEffectView und Freunde.

0

Sie UIVisualEffectView wie können unter

var blurView:UIVisualEffectView = UIVisualEffectView (effect: blur) 
blurView.frame = view.bounds 
blurView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight] 
popUpView.addSubview(blurView) 
1

Um eine Unschärfeansicht hinzuzufügen, können Sie UIBlurEffect verwenden. Es gibt 3-4 Unschärfen, aus denen Sie wählen können. Sie können auch alpha dieser Unschärfe-Effekt in den Bereichen von 0,0 bis 1,0 ändern genauere Unschärfe für Ihr Bild

zu erreichen Blur-Effekt hinzufügen - Sie können wie view.addBlurEffect

func addBlurEffect() { 

     let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.extraLight) 
     let blurEffectView = UIVisualEffectView(effect: blurEffect) 
     blurEffectView.alpha = 0.4 
     blurEffectView.frame = self.bounds 
     blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight] 
     self.addSubview(blurEffectView) 
    } 

verwenden zu Entfernen Unschärfe Sie können - Zum entfernen von Unschärfen aus UIView view.removeBlurView

func removeBlurView(blurView:UIView){ 
      for subview in blurView.subviews { 
       if subview is UIVisualEffectView { 
        subview.removeFromSuperview() 
       } 
      } 
     } 
Verwandte Themen