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

标签 ios cocoa-touch uikit

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

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

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

也许还有其他选择。

最佳答案

UIK它有一个 UIVisualEffectView 来添加漂亮的模糊效果

  • 从对象库中拖出一个 UIVisualEffectView 并将其放在需要为您的案例(背景)模糊的 View 上

声明这些属性

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

在 viewDidLoad 中放置这段代码

    blurEffect = visualEffectView.effect
    visualEffectView.effect = nil

用模糊显示一个 View /弹出窗口(一个对话框)

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

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

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+ 提供原生模糊 View 效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52374527/

相关文章:

objective-c - 减去日期和时间

iphone - 刷新 UITabBar 选项卡的 View 或在重新选择选项卡时从 UITabBar 选项卡的 View 调用方法

ios - UIDatePicker NSInternalInconsistencyException : unexpected number of calendar units error

ios - 检查设备是否连接到 iOS 12 中的 VPN

ios - 如何将数据从观察到的类传递到另一个类?

ios - 如何在iOS中添加MBProgressHUD等待加载数据

iPhone指南针干扰检测

ios - 如何获得 UITextView 的高度应该给出文本的宽度和长度?

ios - 为编程 View 层次结构设置自动布局约束?

ios - Objective-C:将大多数消息转发给另一个对象(在运行时)