MijickCalendarView 1.0.0

MijickCalendarView 1.0.0

Mijick 维护。



  • 作者
  • Tomasz Kurylik

Mijick Header

Mijick GitHub Mijick Twitter Mijick Mail Separator


CalendarView Logo

日历视图

快速创建可完全定制的日历。保持你的代码整洁

尝试我们准备好的演示


SwiftUI logo Platforms: iOS, iPadOS, macOS, tvOS Current Version License: MIT

Made in Kraków Stargazers

Calendar Example 1 Calendar Example 2 Calendar Example 3 Calendar Example 4


CalendarView 是一个免费的开源库,专为 SwiftUI 设计,简化了创建日历的过程,使代码更加简洁。

  • 提高代码质量。使用 MCalendarView 构造函数创建日历,并将选定的日期/范围传递给它。从未如此简单!
  • 快速定制日历。我们知道定制的重要性;这就是为什么我们让您有机会以任何您喜欢的方式设计自己的日历。
  • 专为 SwiftUI 设计。在开发库时,我们使用了 SwiftUI 的力量,为您提供强大的工具,以加快您的实现过程。

开始使用

✋ 要求

平台 最低 Swift 版本
iOS 14+ 5.0
watchOS 14+ 5.0
macOS 11+ 5.0
watchOS 7+ 5.0

⏳ 安装

Swift Package Manager

Swift Package Manager 是一个自动化 Swift 代码分发工具,并集成到 Swift 编译器中。

一旦设置好 Swift 包,添加 CalendarView 作为依赖就像把它加到 Package.swift 文件的 dependencies 值中一样简单。

dependencies: [
    .package(url: "https://github.com/Mijick/CalendarView.git", branch(“main”))
]

Cocoapods

Cocoapods 是一个依赖管理工具,用于 Swift 和 Objective-C Cocoa 项目的优雅扩展。

安装步骤

    pod init
  • 将 CocoaPods 依赖添加到您的 Podfile
    pod 'MijickCalendarView'
  • 安装依赖并生成 .xcworkspace 文件
    pod install
  • 使用新的 XCode 项目文件 .xcworkspace

用法

1. 调用初始化器

要声明一个CalendarView,请调用构造器

struct ContentView: View {
    @State private var selectedDate: Data? = nil
    @State private var selectedRange: MDateRange? = .init()

    var body: some View {
        MCalendarView(selectedDate: $selectedDate, selectedRange: $selectedRange)
    }
}

2. 自定义日历

您可以通过在初始化器中调用 configBuilder 来自定义 MCalendarView

struct ContentView: View {
    @State private var selectedDate: Data? = nil
    @State private var selectedRange: MDateRange? = .init()

    var body: some View {
        MCalendarView(selectedDate: nil, selectedRange: $selectedRange) {
            $0
                (...)
                .dayView(NewDayView.init)
                .firstWeekday(.wednesday)
                .monthLabelToDaysDistance(12)
                .weekdaysView(NewWeekdaysView.init)
                (...)
        }
    }
}

3. 自定义周视图/周标签/月标签/日视图

每个日历元素都可以通过创建自定义视图并继承协议轻松自定义(请查看示例项目 获取更多细节)。


尝试我们的示例

通过克隆我们创建的 项目 来亲自看看它是怎么工作的

许可证

CalendarView 在 MIT 许可下发布。详情请见 LICENSE



我们的其他开源 SwiftUI 库

PopupView - 最强大的弹出库,允许您展示任何弹出
Navigattie - 更简单更干净地在您的应用中导航的方法
GridView - 轻松布局您的数据
Timer - Timer 的现代 API