2017-09-09 4 views
0

J'ai UIVisualEffectView que je suis en train de mettre à zéro sur viewDidLoadUIVisualEffectView pas la mise à zéro

Qu'est-ce que je fais mal?

@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

impression (self.visualEffectView.effect) et voir si elle est nulle – 3stud1ant3

+0

@ 3stud1ant3 quand je l'imprime ce n'est pas nul – Cameron

+0

J'ai essayé et cela me donne rien, j'ai essayé ce code : @IBOutlet faible var myVisualEffectView: UIVisualEffectView! var effet: UIVisualEffect! override func viewDidLoad() { super.viewDidLoad() effet = myVisualEffectView.effect print (effet) self.myVisualEffectView.effect = nil impression (self.myVisualEffectView.effect) }, la première impression (effet) imprime l'instance de l'effet UIBlur et la deuxième impression imprime – 3stud1ant3

Répondre

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() 
       } 
      } 
     }