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. 适用于此库)。
@GoDominic
dominicgo@dominicgo.dev