日历视图
快速创建可完全定制的日历。保持你的代码整洁
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 项目的优雅扩展。
安装步骤
- 安装 CocoaPods 1.10.0(或更高版本)
- 为您的项目生成 CocoaPods
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