SwiftUICalendarView 1.4.11

SwiftUICalendarView 1.4.11

Tai Le 维护。



  • Le Quang Trong Tai

日历 For SwiftUI

SwiftUI 是一个使用 SwiftUI 框架创建日历视图的组件。通过 SwiftDate 库用纯 SwiftUI 构建 Calendar,用于计算日期。SwiftUICalendarView 是一个用于在 SwiftUI 中构建和展示简单日历界面的 Swift 包。该库提供了一个简单的方法将日历集成到您的应用中。

github-banner

SwiftUICalendarView

Swift License Build Project

安装

Swift 包管理器

要将 SwiftUICalendarView 集成到您的项目中,请将 GitHub URL 添加到您的 Package.swift 文件中的依赖部分

dependencies: [
    .package(url: "https://github.com/iletai/SwiftUICalendarView.git", from: "1.0.4"),
],
targets: [
    .target(name: "YourTarget", dependencies: ["CalendarView"]),
]

功能支持

  • 日历模式:周、月、年
  • 第一周第一天
  • 显示日期
  • 固定标头日历
  • 允许自定义所有者日历日期视图

可用示例日历视图

import SwiftUI
import CalendarView
import SwiftDate

struct ContentView: View {
    @State var isShowHeader = false
    @State var isShowDateOut = false
    @State var firstWeekDate = 1
    @State var viewMode = CalendarViewMode.year
    @State private var selectedDate = Date()
    @State var listSelectedDate = [Date]()

    var body: some View {
        VStack {
            CalendarView(
                date: selectedDate
                , dateView: { date in
                    VStack {
                        Text(date.dayName)
                            .font(.footnote)
                            .fontWeight(.semibold)
                            .foregroundColor(
                                Calendar.current.isDateInWeekend(date) ? .red : .black
                            )
                    }
                    .frame(maxWidth: .infinity)
                    .frame(height: 30)
                    .background(listSelectedDate.contains(date) ? .cyan : .clear)
                }, headerView: { date in
                    VStack {
                        Text(date.weekDayShortName)
                            .font(.footnote)
                            .fontWeight(.bold)
                            .foregroundColor(
                                Calendar.current.isDateInWeekend(date) ? .red : .black
                            )
                    }
                }, dateOutView: { date in
                    Text(DateFormatter.day.string(from: date))
                        .font(.footnote)
                        .foregroundColor(.gray)
                },
                onSelectedDate: onSelectedDate
            )

自定义界面

您可以使用像 accentColor、selectedDateColor 和 disabledDateColor 这样的属性自定义日历的界面...

            .enableHeader(isShowHeader)
            .enableDateOut(isShowDateOut)
            .firstWeekDay(firstWeekDate)
            .calendarLocate(locale: Locales.vietnamese.toLocale())
            .enablePinedView(.sectionHeaders)
            .setViewMode(viewMode)
            .rowsSpacing(0)
            .columnSpacing(0)
            .backgroundCalendar(.visible(20, .gray.opacity(0.3)))
            .onDraggingEnded {
                selectedDate = selectedDate.nextWeekday(.friday)
            }

示例

注意

例如使用此存储库,请参阅以下链接了解更多信息:https://github.com/iletai/SwiftUICalendarView/tree/master/CalendarExampleView

贡献

如果您发现了一个错误或有一个改进该库的方法,请创建一个问题或提出一个拉取请求。我们欢迎社区贡献。

许可证

SwiftUICalendarView 在 MIT 许可证下发布。有关详细信息,请参阅 LICENSE。