iOS,iOS9 +提供原生模糊视图效果?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS,iOS9 +提供原生模糊视图效果?相关的知识,希望对你有一定的参考价值。

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

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

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

也许还有其他选择。

答案

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

以上是关于iOS,iOS9 +提供原生模糊视图效果?的主要内容,如果未能解决你的问题,请参考以下文章

无法移动键盘视图iOS9 swift

iOS - 创建类似 iOS9 的拆分视图 [关闭]

如何在键盘视图和顶视图中添加自定义子视图? (iOS8 及以下无法在 iOS9 中使用)

调整 AVAudioMix 音量属性在 iOS9 中没有效果

Xcode 7 / iOS 9:在 SKNode 中使用 OpenGL 片段着色器未编译

是否可以以编程方式强制 iOS 应用程序在拆分视图/滑动中在 ios9 中全屏显示?