VisualEffectBlurView

Swift Version Compatibility Badge Platform Compatibility Badge

UIVisualEffectView 的一个子类,允许您设置自定义的模糊半径 + 强度,或者使用 CAFilter 设置 CALayer.filter (由于它是私有 API,因此进行了混淆处理)。

支持为给定的 UIBlurEffect.Style 更改模糊半径(或模糊百分比强度)的动画效果,也支持通过 CAFilter 实现的自定义效果的动画效果(请参见下面的 gif 演示)。



演示 Gifs

Experiment02ViewController.swift

Experiment02ViewController


VisualEffectBlurTestViewController.swift

VisualEffectBlurTestViewController


VisualEffectViewExperiment01ViewController.swift

Render-03 - 2024-07-03-05-26-13 - 1080p Web - Gif-03

Render-02 - 2024-07-06-06-39-51 Gif-01


RNIVisualEffectCustomFilterViewTest01Screen.tsx

Render-03 - 2024-07-03-05-26-13 - 1080p Web - Gif-03


Experiment01ViewController.swift

Experiment01ViewController


VisualEffectCustomFilterViewTest02Controller.swift

VisualEffectCustomFilterViewTest02Controller


VisualEffectCustomFilterViewTest02Screen.tsx

VisualEffectCustomFilterViewTest02Screen



鸣谢

非常感谢:junzhengca, brentvatne, expo, EvanBacon, corasan, lauridskern, ronintechnologies, gerzonc, 和 edencakir 成为每月赞助者,感谢 fobos531 的一次性赞助 🥺 (如果您有能力,请考虑 在此处 赞助)

这个小库为 react-native-ios-visual-effect-view 提供底层支持 ✨



安装

Cocoapods

可以通过 CocoaPods 获得 VisualEffectBlurView。要安装它,只需将以下行添加到您的 Podfile

pod 'VisualEffectBlurView'

Swift Package Manager (SPM)

方法 #1:通过 Xcode GUI

  1. File > Swift Packages > Add Package Dependency
  2. 添加 https://github.com/dominicstop/VisualEffectBlurView.git

方法 #2:通过 Package.swift

dependencies: [
  .package(url: "https://github.com/dominicstop/VisualEffectBlurView.git",
  .upToNextMajor(from: "1.0.0"))
]



基本用法

UIKit

🔗 完整示例

// ✨ Code omitted for brevity

import UIKit
import VisualEffectBlurView;

class BasicUsage01: UIViewController {

  override func viewDidLoad() {
  	
    let blurView = VisualEffectBlurView(blurEffectStyle: .dark);
    blurView.blurRadius = 15;

    blurView.translatesAutoresizingMaskIntoConstraints = false;
    self.view.addSubview(blurView);
    
    NSLayoutConstraint.activate([
      blurView.topAnchor.constraint(
        equalTo: self.view.topAnchor
      ),
      blurView.bottomAnchor.constraint(
        equalTo: self.view.bottomAnchor
      ),
      blurView.leadingAnchor.constraint(
        equalTo: self.view.leadingAnchor
      ),
      blurView.trailingAnchor.constraint(
        equalTo: self.view.trailingAnchor
      ),
    ]);
  };
};



SwiftUI

🔗 完整示例

import SwiftUI
import VisualEffectBlurView

struct SwiftUIBasicUsage01: View {

  var body: some View {
    Text("🖼️\n🌆\n🌄")
      .font(.system(size: 128))
      .frame(
        maxWidth: .infinity,
        maxHeight: .infinity
      )
      .overlay(self.overlay, alignment: .center)
  }
  
  var overlay: some View {
    VisualEffectBlur(
      blurEffectStyle: .constant(.regular),
      blurRadius: .constant(nil)
    )
  };
}

文档

目前还没有该库的文档。与此同时,请浏览 viewsexamples 目录(或查看 RN 包装器的 impl. 适用于此库)。



其他和联系方式