iOS,可以从iOS9 +获得本机模糊视图效果吗?

时间:2018-09-17 19:30:58

标签: ios cocoa-touch uikit

我正在尝试显示视图/弹出窗口(对话框),但是我需要在背景中使用模糊效果并支持iOS 9 +。

它们是否模糊了UIKit本身提供的支持旋转的操作?

我担心模糊效果会在屏幕截图上起作用,一旦我显示了对话框并且屏幕旋转,就无法在屏幕截图图像上添加模糊效果。

也许还有其他选择。

1 个答案:

答案 0 :(得分:1)

UIKIt具有UIVisualEffectView来添加漂亮的模糊效果

  • 从对象库中拖动UIVisualEffectView并将其放在需要使您的情况(背景)模糊化的视图上

声明这些属性

@IBOutlet var popupView: UIView!
@IBOutlet weak var visualEffectView: UIVisualEffectView!
var blurEffect:UIVisualEffect!

在viewDidLoad中输入此代码

    blurEffect = visualEffectView.effect
    visualEffectView.effect = nil

显示带有模糊的视图/弹出窗口(对话框)

func presentPopUp() {
    self.view.addSubview(popupView)
    UIView.animate(withDuration: 0.4) {
        self.visualEffectView.effect = self.blurEffect
       //make tarnsform from  popupView make it show more beauty
    }
}

隐藏视图/弹出窗口(对话框)并模糊

func dismissPopUp () {
    UIView.animate(withDuration: 0.3, animations: {
        self.visualEffectView.effect = nil
        //make tarnsform from  popupView make it hide more beauty
    }) { (success:Bool) in
        //  dismissPopUp remove it from super View
    }
}