FXDatePicker:自定义可定制的日期选择器





项目名称:FXDatePicker

项目简介

FXDatePicker是一个SwiftUI库,允许开发者在应用中添加一个高度可定制的日期选择器。与iOS自带的DatePicker相比,FXDatePicker提供了更多的自定义选项,包括界面外观和特殊日期的图标。该库支持Hijri和Gregorian两种日历,适用于需要特殊日期标记的场景。

功能特点

  • 日历支持:支持Hijri和Gregorian两种日历。

  • 图标支持:可以在特定日期下添加自定义图标或SF Symbols。

  • 多语言支持:支持阿拉伯语和英语。

  • 模式兼容:兼容暗黑和明亮模式。

  • 完全可定制:提供完整的自定义选项,包括主题和布局。

使用方法

  1. 添加绑定的Date变量

    @State private var selectedDate: Date = Date()

  2. 配置特殊日期(可选)

    let specialDates: [SpecialDate] = [
        // 你的特殊日期和图标
    ]

  3. 初始化FXDatePicker

    FXDatePickerView(selectedDate: $selectedDate, specialDates: specialDates)

日期范围支持

FXDatePicker还支持在指定的日期范围内选择日期,这对于需要限制日期选择范围的应用非常有用。

使用ClosedRange

private var closeRange: ClosedRange<Date> {
    let calendar = Calendar.current
    let startOfToday = calendar.startOfDay(for: Date())

    guard let endOfRange = calendar.date(bySetting: .day, value: 18, of: startOfToday) else {
        fatalError("Could not create start or end date for range")
    }

    return startOfToday...endOfRange
}

使用PartialRangeFrom和PartialRangeThrough

FXDatePickerView(selectedDate: $selectedGregorianDate, specialDates: specialDates, in: Date()...)
FXDatePickerView(selectedDate: $selectedGregorianDate, specialDates: specialDates, in: ...Date())

使用specialDates添加自定义标记

specialDates数组允许你在日历的特定日期上添加自定义标记,可以使用自定义图片或SF Symbols来突出显示这些日期。

自定义选项

  • calenderType:设置日历类型,支持Hijri日历的不同变体。

  • datePickerTheme:自定义日期选择器的主题,包括颜色和渐变背景。

  • hideMarkers:隐藏特殊日期标记。

  • disableSwipe:禁用滑动手势功能。

  • hideDatePicker:隐藏月份/年份选择器。

安装方法

使用Swift Package Manager安装FXDatePicker:

dependencies: [
    .package(url: "https://github.com/X901/FXDatePicker.git")
]

系统要求

  • iOS 14+

  • Xcode 13+

或许喜欢

CryptoTracker:基于CoinGecko免费API构建的加密货币信息应用

CryptoTracker是一个使用SwiftUI和Combine构建的iOS应用,展示前250名加密货币信息,支持iOS 15.0+,集成了CoinGecko API,支持图片缓存和图表显示。

最近更新 2024-12-09

SwiftUIMasonry:SwiftUI实现的Pinterest风格布局视图

SwiftUIMasonry是一个SwiftUI库,提供水平和垂直的Pinterest风格布局视图,支持动态行数和列数,以及自定义间距和对齐。

最近更新 2024-12-09

MasonryStack:SwiftUI中的Pinterest风格垂直和水平布局

MasonryStack是一个SwiftUI库,提供类似Pinterest的垂直和水平布局方式,支持动态列数和间距调整,适用于展示大量数据。

最近更新 2024-12-09

热榜

Made with in Shangrao,China By 老雷

Copyright © devler.cn 1987 - Present

赣ICP备19009883号-1