2017-02-07 6 views
0

これは、ユーザーが戻ってきたい場合に表示されるぼかし効果と警告です。私は何も見つからなかったので、ここにいる誰かが私を助けてくれることを願っています。あなたの助けにアドバイスをありがとう!ユーザーがalertviewでalternativを押した後に、どのようにしてblureffectを閉じますか?

これは、すべてのコード下さいしかしにおける新しいコードで

 // 
// Visartotal.swift 
// Segment controll 
// 
// Created by Simon Harrysson on 2017-01-28. 
// Copyright © 2017 Simon Harrysson. All rights reserved. 
// 

import UIKit 

var Allabetygtillsamans: Double = 0 


class Visartotal: UIViewController 
{ 

    @IBOutlet weak var Tillbaka: UIButton! 
    @IBOutlet weak var Börjaomknapp: UIButton! 
    @IBOutlet weak var Visartotalreligion: UILabel! 
    @IBOutlet weak var VisartotalIMusik: UILabel! 
    @IBOutlet weak var Visartotaltmerit: UILabel! 
    @IBOutlet weak var VisartotalBild: UILabel! 
    @IBOutlet weak var Visartotalmatematik:UILabel! 
    @IBOutlet weak var VisartotalEngelska: UILabel! 

    var blurEffectView: UIVisualEffectView? 

    override func viewDidAppear(_ animated: Bool) 
    { 
     self.blurEffect = UIBlurEffect(style: .dark) 
     self.blurEffectView = UIVisualEffectView(effect: self.blurEffect) 
     blurEffectView?.frame = view.bounds 
     blurEffectView?.autoresizingMask = [.flexibleWidth, .flexibleHeight] // for supporting device rotation 


    } 
    var blurEffect: UIBlurEffect? 

     @IBAction func TillbakaAction(_ sender: UIButton) 
    { 
     createAlert(title: "Är du säker på att du vill börja om?", message: "Ifyllda betyg nollställs") 
    blurEffectView = UIVisualEffectView(effect: blurEffect) 

       view.addSubview(blurEffectView!) 
     } 

    func createAlert (title:String, message:String) 
    { 
     let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.alert) 

     //CREATING ON BUTTON 
     alert.addAction(UIAlertAction(title: "Ja", style: UIAlertActionStyle.default, handler: { 
      (action) in 
      alert.dismiss(animated: true, completion: nil) 
      print ("Jag vill gå tillbaka") 
      self.performSegue(withIdentifier: "Tillbaka", sender: nil) 
      self.blurEffectView?.removeFromSuperview() 

        })) 

     alert.addAction(UIAlertAction(title: "Nej", style: UIAlertActionStyle.default, handler: { (action) in 
      alert.dismiss(animated: true, completion: nil) 
      print("Nej, jag vill inte gå tillbaka") 
      self.blurEffectView?.removeFromSuperview() 

     })) 

     self.present(alert, animated: true, completion: nil) 



    } 

    override func viewDidLoad() 
    { 


     let Allabetygtillsamans = MusikbetygIDouble + BildbetygValtDouble + MatematikbetygvaltIDouble + ReligionbetygvaltDouble + EngelskabetygvaltDouble 

     Visartotaltmerit.font = UIFont(name: "Arial", size: 21) 


     let totalameritet = String(Allabetygtillsamans) 


     VisartotalIMusik.text = MusikbetygValt 
     VisartotalBild.text = BildbetygValt 
     Visartotalmatematik.text = Matematikbetygvalt 
     Visartotalreligion.text = Religionbetygvalt 
     VisartotalEngelska.text = Engelskabetygvalt 

     Visartotaltmerit.text = totalameritet + ("p") 


     if BildbetygValt == "F" 
     { 
      VisartotalBild.textColor = UIColor.red 
     } 
     if MusikbetygValt == "F" 
     { 
      VisartotalIMusik.textColor = UIColor.red 
     } 
     if Matematikbetygvalt == "F" 
     { 
      Visartotalmatematik.textColor = UIColor.red 
     } 
     if Religionbetygvalt == "F" 
     { 
      Visartotalreligion.textColor = UIColor.red 
     } 
     if Engelskabetygvalt == "F" 
     { 
      VisartotalEngelska.textColor = UIColor.red 
     } 



     switch Allabetygtillsamans { 
     case 290...340: 
      Visartotaltmerit.textColor = UIColor.green 
      Visartotaltmerit.backgroundColor = UIColor.clear 
      Visartotaltmerit.backgroundColor = UIColor.clear 
     case 230...290: 
      Visartotaltmerit.textColor = UIColor.yellow 
      Visartotaltmerit.backgroundColor = UIColor.clear 
      Visartotaltmerit.backgroundColor = UIColor.clear 
     case 220...230: 
      Visartotaltmerit.textColor = UIColor.orange 
      Visartotaltmerit.backgroundColor = UIColor.clear 
     case 0...220: 
      Visartotaltmerit.textColor = UIColor.red 
      Visartotaltmerit.backgroundColor = UIColor.clear 
     default: 
      print("defult") 
     } 



    func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 





} 
} 
+0

FYI - 警告で 'alert.dismiss(...'を呼び出すことはありません – rmaddy

答えて

0

あなたはあなたのtillbakaAction関数のスコープ外からアクセスすることができblurEffectView変数を作成する必要があります - 。どこかのViewControllerで。あなたのUIAlertActionsでは、それを削除するためにself.blurEffectView.removeFromSuperview()と言うことができます。アニメーションはありません。消えてしまいます。

また、別のコメント作成者が指摘したように、alert.dismiss...は自動的に発生するとは言いません。

あなたの変数の例としては、これは動作します:

var blurEffectView: UIVisualEffectView? 

@IBAction func tillbakaAction(_ sender: UIButton) { 
    ... 
    self.blurEffectView = UIVisualEffectView(effect: blurEffect) 
    ... 
} 

そして、あなたのアクションでは:

alert.addAction(UIAlertAction(title: "Ja", style: UIAlertActionStyle.default, handler: { 
    (action) in 
    self.blurEffectView?.removeFromSuperview() 
    ... 
+0

その変数を作成する場所を見つけることができませんtillbakaAction – theswed

+0

のために、どこで作成する必要がありますか?viewControllerのグローバル変数として入れることができます。私は助けるために編集します。 – creeperspeak

+0

あなたが喜んで助けてくれるように私のコードを私に教えてください。事前に感謝します – theswed

関連する問題