在短时间内创建完全可定制的日历。保持你的代码简洁。
CalendarView 是一个免费的开源库,专为 SwiftUI 设计,它使创建日历的过程更加容易和简洁。
MCalendarView
构造器创建一个日历,并将选定的日期/范围传递给它。从未如此简单!平台 | 最低 Swift 版本 |
---|---|
iOS 14+ | 5.0 |
iPadOS 14+ | 5.0 |
macOS 11+ | 5.0 |
watchOS 7+ | 5.0 |
Swift 包管理器是一个用于自动化 Swift 代码分发的工具,并且集成到 Swift 编译器中。
一旦你设置好了你的 Swift 包,将 CalendarView 添加为依赖项就像将其添加到你的 Package.swift
的 dependencies
值中一样简单。
dependencies: [
.package(url: "https://github.com/Mijick/CalendarView.git", branch(“main”))
]
Cocoapods 是 Swift 和 Objective-C Cocoa 项目的依赖管理器,可帮助优雅地扩展它们。
安装步骤
pod init
Podfile
中 pod 'MijickCalendarView'
.xcworkspace
文件 pod install
.xcworkspace
要声明一个 CalendarView,请调用构造函数
struct ContentView: View {
@State private var selectedDate: Date? = nil
@State private var selectedRange: MDateRange? = .init()
var body: some View {
MCalendarView(selectedDate: $selectedDate, selectedRange: $selectedRange)
}
}
你的 MCalendarView 可以通过在初始化器内部调用 configBuilder
进行自定义
struct ContentView: View {
@State private var selectedDate: Date? = 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)
(...)
}
}
}
每个日历元素都可以通过继承协议来创建你自己的视图来轻松定制(查看演示项目 了解更多详情)。
通过克隆我们创建的项目来亲身体验它是如何工作的
CalendarView 在 MIT 许可证下发布。 详细信息请参阅 LICENSE。
PopupView - 最强大的弹出窗口库,允许你呈现任何弹出窗口
NavigationView - 更简单、更清晰的应用程序导航方式
GridView - 毫不费力地布局你的数据
CameraView - 最强大的 CameraController。 专为 SwiftUI 设计
Timer - Timer 的现代 API