Swift和Xcode9中的VisualEffectView

时间:2017-10-19 17:35:09

标签: ios swift xcode xcode9 swift4

Picture of my code

import UIKit

class ViewController: UIViewController {

   @IBOutlet var addItemView: UIView!

   @IBOutlet weak var visualEffectView: UIVisualEffectView!

   var effect: UIVisualEffect!

    override func viewDidLoad() {
        super.viewDidLoad()

        effect = visualEffectView.effect
        visualEffectView.effect = nil

        addItemView.layer.cornerRadius = 5
   }

    func animateIn(){
        self.view.addSubview(addItemView)
        addItemView.center = self.view.center

        addItemView.transform = CGAffineTransform.init(scaleX: 1.3, y: 1.3)
        addItemView.alpha = 0

        UIView.animate(withDuration: 0.4){
            self.visualEffectView.effect = self.effect
            self.addItemView.alpha = 1
            self.addItemView.transform = CGAffineTransform.identity
        }
    }

    @IBAction func sourcesButton(_ sender: Any) {
        animateIn()
    }


    @IBAction func sourceDone(_ sender: Any) {
    }

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


}

我正在尝试制作一个模糊的模式,当用户单击按钮时弹出该模式,但由于某种原因,此代码未执行。我正在关注youtube上的教程(Youtube Link)我很感激帮助。

1 个答案:

答案 0 :(得分:1)

创建这样的模糊视图:

var blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark)
var blurEffectView = UIVisualEffectView(effect: blurEffect)
view.addSubview(blurEffectView)

创建它之后,您可以将alpha设置为0并将其设置为1 请注意,具有UIBlurEffect的动画在设备上看起来很糟糕:p