UIVisualEffectView 的一个子类,允许您设置自定义的模糊半径 + 强度,或者使用 CAFilter 设置 CALayer.filter (由于它是私有 API,因此进行了混淆处理)。
支持为给定的 UIBlurEffect.Style 更改模糊半径(或模糊百分比强度)的动画效果,也支持通过 CAFilter 实现的自定义效果的动画效果(请参见下面的 gif 演示)。
CAColorMatrix (例如 colorMatrix 滤镜)。可通过 ColorTransform 或 ColorMatrixRGBA 进行配置。variableBlur,具有可动画的模糊半径。colorMonochrome、colorSaturate、colorBrightness、colorContrast、colorHueRotate、compressLuminance、gaussianBlur、luminanceCurveMap、vibrantDark、vibrantLight 等(请参阅 LayerFilterType 以获取完整的滤镜列表)。Experiment02ViewController.swift
VisualEffectBlurTestViewController.swift
VisualEffectViewExperiment01ViewController.swift
RNIVisualEffectCustomFilterViewTest01Screen.tsx
Experiment01ViewController.swift
VisualEffectCustomFilterViewTest02Controller.swift
VisualEffectCustomFilterViewTest02Screen.tsx
非常感谢:junzhengca, brentvatne, expo, EvanBacon, corasan, lauridskern, ronintechnologies, gerzonc, 和 edencakir 成为每月赞助者,感谢 fobos531 的一次性赞助 🥺 (如果您有能力,请考虑 在此处 赞助)
这个小库为 react-native-ios-visual-effect-view 提供底层支持 ✨
可以通过 CocoaPods 获得 VisualEffectBlurView。要安装它,只需将以下行添加到您的 Podfile 中
pod 'VisualEffectBlurView'
方法 #1:通过 Xcode GUI
https://github.com/dominicstop/VisualEffectBlurView.git方法 #2:通过 Package.swift
Package.swift 文件。Package.swift 中的 dependencies,并添加以下内容dependencies: [
.package(url: "https://github.com/dominicstop/VisualEffectBlurView.git",
.upToNextMajor(from: "1.0.0"))
]
// ✨ 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
),
]);
};
};
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)
)
};
}
目前还没有该库的文档。与此同时,请浏览 views 和 examples 目录(或查看 RN 包装器的 impl. 适用于此库)。
@GoDominicdominicgo@dominicgo.dev