2017-09-09 72 views
0

我有我试图在viewDidLoad中UIVisualEffectView不设置为零

我在做什么错误设置为零一个UIVisualEffectView?

@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

打印(self.visualEffectView.effect),看看它是否是零 – 3stud1ant3

+0

@ 3stud1ant3当我把它打印出来它是不是零 – Cameron

+0

我尝试这样做,它给了我无,我已经尝试了这个代码:@IBOutlet weak var myVisualEffectView:UIVisualEffectView! 变化效果:UIVisualEffect! 倍率FUNC viewDidLoad中(){ super.viewDidLoad() 效果= myVisualEffectView.effect 打印(效果) self.myVisualEffectView.effect =零 打印(self.myVisualEffectView.effect) },第一打印(效果)打印UIBlur效果实例和第二次打印输出nil – 3stud1ant3

回答

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