← Усі проєкти

DMVariableBlurView Swift SDK

Тип
Swift SDK з відкритим кодом
У відкритому доступі
З 10/2025
Платформа
iOS 17+
Мова
Swift 6.0+
UI
SwiftUI, UIKit
Встановлення
Swift Package Manager, CocoaPods
Ліцензія
MIT
Код
GitHub
DMVariableBlurView: розмиття зверху, знизу, у центральній смузі та по всій висоті

Огляд

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'

Посилання