DMVariableBlurView Swift SDK
- Тип
- Swift SDK з відкритим кодом
- У відкритому доступі
- З 10/2025
- Платформа
- iOS 17+
- Мова
- Swift 6.0+
- UI
- SwiftUI, UIKit
- Встановлення
- Swift Package Manager, CocoaPods
- Ліцензія
- MIT
- Код
- GitHub
Огляд
DMVariableBlurView розмиває вміст за представленням, змінюючи радіус розмиття вздовж його висоти. Градієнт дозволяє пом’якшити верхній або нижній край, розмити центральну смугу чи застосувати рівномірне розмиття до всього представлення.
Пакет розвиває VariableBlurView від jtrivedi та VariableBlur від nikstar. У своїй версії я додав режими розмиття центральної смуги й усього представлення, валідацію конфігурації, повідомлення про помилки та резервне розмиття. DMUnLoader використовує бібліотеку як фон для HUD.
Основні можливості
- Чотири режими розмиття: зверху, знизу, у центральній смузі та по всій висоті.
- Налаштування максимального радіуса, зміщення градієнта й висоти центральної смуги.
- Компоненти для SwiftUI та UIKit з оновленням конфігурації вже створеного представлення.
- Валідація некоректних значень і стандартне системне розмиття, якщо змінний ефект недоступний.
- Підтримка системного налаштування «Зменшення прозорості» (Reduce Transparency).
Приклад
Розмиття у верхній частині статті з прокруткою. Перевірку дотиків вимкнено, щоб шар розмиття не перехоплював взаємодію з вмістом:
import DMVariableBlurView
import SwiftUI
struct ArticleView: View {
var body: some View {
ZStack(alignment: .top) {
ScrollView {
Text("The text of a long article.")
.padding()
}
DMVariableBlurView(maxBlurRadius: 12, direction: .blurredTopClearBottom)
.frame(height: 120)
.ignoresSafeArea(edges: .top)
.allowsHitTesting(false)
}
}
}Особливості інтеграції
Ефект використовує приватну системну реалізацію CAFilter / variableBlur. Перевірки під час виконання та резервне розмиття не роблять цей API публічним і не гарантують схвалення в App Store. Перед вибором бібліотеки для застосунку переглянь розділ Private API у репозиторії.
Встановлення
Swift Package Manager:
.package(url: "https://github.com/nikolay-dementiev/DMVariableBlurView.git", from: "1.1.0")CocoaPods, версія 1.1.0:
pod 'DMVariableBlurView', '1.1.0'