2017-03-14 8 views
0

ボタンをクリックしたときに、background_imageがぼかし効果に変わります。ボタンで使用する前にBlurEffectを削除します

@IBAction func button_MainClicked2(_ sender: UIButton) { 
     if button_MainCenter == button_viajes.center{ 
      UIView.animate(withDuration: 0.6, animations: 

     { 

      let blur = UIBlurEffect(style: UIBlurEffectStyle.light) 
      let blurView = UIVisualEffectView(effect: blur) 
      blurView.frame = self.image_Background.bounds 
      self.image_Background.addSubview(blurView)  

     }) 
     } else { 
      UIView.animate(withDuration: 0.6, animations: { 
       // I want to remove blur effect as soon as i press the button again. 
      }) 
     } 
    } 

ボタンをクリックするとすぐにエフェクトを削除するように修正できますか?

答えて

0

エディットサブビューとして追加する前にblurView.tag = 1000のようなビューをぼかすtagを追加し、アニメーションブロック内

for view in button_MainCenter.subviews { 
    if view.tag == 1000 { 
     view.removeFromSuperview() 
    } 
} 

することができます:それはしかしアニメ化されるかどう わかりません。そうでない場合、このビューのalphaを1から0にアニメートしてから削除することができます。

編集:

let blur = UIBlurEffect(style: UIBlurEffectStyle.light) 
let blurView = UIVisualEffectView(effect: blur) 
blurView.tag = 1000 
blurView.frame = self.image_Background.bounds 
self.image_Background.addSubview(blurView) 
+1

あなたがサブビューをループにしたくない場合は、あなたもちょうどblurView = imageBackground.viewWithTag(タグ:1000)許可すれば 'と言うことができます{...}' – creeperspeak

+0

おかげで男をまだ動作していません。どこでこのタグを追加する必要がありますか?他に先にこのコードを書く必要がありますか?ありがとうございました –

+0

@ EloyuF​​.Bentはコードを追加しました – JuicyFruit

関連する問題