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

Posted

技术标签:

【中文标题】iOS,iOS9+ 提供的原生模糊视图效果?【英文标题】:iOS, native blur view effects available from iOS9+? 【发布时间】:2018-09-17 19:30:58 【问题描述】:

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

它们是否会在支持旋转的 UIKit 中原生提供模糊操作?

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

也许还有其他选择。

【问题讨论】:

【参考方案1】:

UIKI 有一个 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+ 提供的原生模糊视图效果?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SwiftUI 中将模糊效果作为背景?

背景虚化 高斯模糊

ios------进度轮

具有淡入边缘效果的模糊视图 - iOS

如何产生类似于 iOS 7 模糊视图的效果?

在顶部显示 UIView(对话框)时,iOS 对后面视图的模糊效果 [重复]