// // UIVisualEffectView+Extension.swift // QuickSearchLocation // // Created by mac on 2024/4/10. // import Foundation import UIKit // MARK: - 一、基本的扩展 public extension UIVisualEffectView { // MARK: 1.1、创建一个UIVisualEffectView对象 /// 创建一个UIVisualEffectView对象 /// - Parameters: /// - size: UIVisualEffectView的size /// - alpha: 模糊透明度 /// - style: 模糊样式 /// - isAddVibrancy: 是否添加UIVibrancyEffect /// - Returns: 返回UIVisualEffectView static func visualEffectView(size: CGSize, alpha: CGFloat = 1.0, style: UIBlurEffect.Style = .light, isAddVibrancy: Bool = true) -> UIVisualEffectView { // 首先创建一个模糊效果 let blurEffect = UIBlurEffect(style: style) // 接着创建一个承载模糊效果的视图 let blurView = UIVisualEffectView(effect: blurEffect) // 毛玻璃的透明度 blurView.alpha = alpha // 设置模糊视图的大小(全屏) blurView.frame.size = size // 创建并添加vibrancy视图 if isAddVibrancy { /* UIVibrancyEffect 主要用于放大和调整UIVisualEffectView 视图下面的内容的颜色,同时让UIVisualEffectView的 contentView中的内容看起来更加生动。通常UIVibrancyEffect 对象是与UIBlurEffect一起使用 */ let vibrancyView = UIVisualEffectView(effect: UIVibrancyEffect(blurEffect: blurEffect)) vibrancyView.frame.size = size blurView.contentView.addSubview(vibrancyView) } return blurView } }