2017-09-09 5 views
0

Ich habe einen UIVisualEffectView, das ich über viewDidLoadUIVisualEffectView nicht auf Null Einstellung

auf Null zu setzen versuche Was mache ich falsch?

@IBOutlet var popUpView: UIView! 

@IBOutlet weak var visualEffectView: UIVisualEffectView! 

var effect: UIVisualEffect! 

@IBOutlet weak var headerLabel: UILabel! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    effect = visualEffectView.effect 
    self.visualEffectView.effect = nil 
    popUpView.layer.cornerRadius = 5 

} 
+0

print (self.visualEffectView.effect) und sehen, ob es null – 3stud1ant3

+0

@ 3stud1ant3 ist, wenn ich es ausdrucken es ist nicht null – Cameron

+0

ich das versucht, und es gibt mir gleich Null, habe ich diesen Code versucht : @IBOutlet schwach var myVisualEffectView: UIVisualEffectView! var effect: UIVisualEffect! Überschreibung func viewDidLoad() { super.viewDidLoad() Wirkung = myVisualEffectView.effect print (Effekt) self.myVisualEffectView.effect = nil print (self.myVisualEffectView.effect) }, erster Druck (Effekt) druckt die UIBlur-Effekt-Instanz und den zweiten Druck druckt – 3stud1ant3

Antwort

0
See my answer 


    var blurEffect = UIBlurEffect() 
    var blurview : UIView = UIView() 

    //HERE pass view as bringtofront from blurview and pass view where you want to set blurview upon 
     func add_blur_view(v : UIView, view_bring_to_front: UIView) { 
      blurEffect = UIBlurEffect(style: UIBlurEffectStyle.dark) 
      let blurEffectView = UIVisualEffectView(effect: blurEffect) 
      blurEffectView.frame = v.bounds 
      blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight] 
      v.addSubview(blurEffectView) 
      v.bringSubview(toFront: view_bring_to_front) 
     } 

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