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