README_zh.md

iOSAlertLibrary

iOSAlertLibrary 是一个基于 SwiftUI 的通知显示库,可以在任何屏幕上运行。

Toast 提示 灵动岛 (Dynamic Island) Alert 弹窗

特性


自定义您的通知!

该库提供了一个方便的界面来创建和显示通知。 您可以使用预定义的通知模板,也可以连接自己的自定义用户界面。

// Создание экземпляра библиотеки
let iosAlertlibrary = iOSAlertLibary()

// Создание уникального ID для уведомления
let id = UUID().uuidString

// Настройка конфигурации уведомления
let alertConfig = AlertConfig(
    icon: "trash.fill",
    lightModeIconColor: .blue,
    darkModeIconColor: .blue.opacity(0.8),
    title: "Хранилище заполнено!",
    lightModeTitleColor: .black,
    darkModeTitleColor: .white,
    message: """
             В вашем облаке закончилось место. Вы больше не можете сохранять данные. \
             Удалите ненужные файлы или обновите тарифный план.
             """,
    lightModeMessageColor: .gray,
    darkModeMessageColor: .gray,
    lightModeBackgroundColor: .white,
    darkModeBackgroundColor: Color(white: 0.15),
    dismissAction: { [weak self] in self?.iosAlertlibrary.dismissAlert(id: id) },
    cancelButtonConfig: nil,
    continueButtonConfig: AlertButtonConfig(
        title: "Обновить тариф",
        action: { print("Тариф обновлен") },
        lightModeTitleColor: .white,
        darkModeTitleColor: .white,
        lightModeBackgroundColor: .blue,
        darkModeBackgroundColor: .blue
    )
)


// Создание уведомления (вью)
let alert = AlertView(config: alertConfig)

// Настройка контейнера уведомления
let containerConfig = ContainerConfig(
    id: id,
    duration: 3,
    position: .top,
    gestures: [.swipe(direction: [.up], threshold: 20)],
    animationType: .slide,
    animationConfig: AnimationConfig(
        offset: (x: (start: -50, end: 0), y: (start: 0, end: 0)),
        opacity: (start: 0, end: 1),
        scaleEffect: (from: 1, anchor: .center)
    )
)

// Создание контейнера уведомления
let container = BasicContainerView(content: alert, containerConfig: containerConfig)

// Показ уведомления на экране
iosAlertlibrary.showAlert(container: container, useOverlayWindow: false)

// Принудительное скрытие уведомления
iosAlertlibrary.dismissAlert(id: id)

库组件

库的架构被划分为模块,这允许您仅使用所需的功能部分。

要求

平台
iOS 16.0+

作者