Swift套件 · v0.1.0

KLCalendarLanes

為日曆網格中的跨日全天事件條分配決定性的軌道。

KLCalendarLanes是不依賴UI的日曆網格版面引擎。它使用提供的 `Calendar` 正規化日期,在列邊界拆分事件條,並回傳軌道、溢出事件與依日查詢的占用資訊。

支援平台
iOS 17+ · macOS 14+
開發工具
Swift 6.0+
授權條款
MIT
第三方相依套件

功能

  • 使用 `Calendar` 正規化跨日範圍
  • 在列邊界產生帶首尾標記的片段
  • 決定性地分配軌道並記錄溢出事件
  • 依日查詢被範圍事件占用的軌道數

不包含的功能

套件只計算範圍事件條的幾何資訊。標題、色彩、當天事件列、視圖與宿主事件模型都由整合端App負責。

透過SwiftPM安裝

Package.swiftSwift
.package(url: "https://github.com/KoenLee1023/KLCalendarLanes.git", from: "0.1.0")

使用方式

整合範例Swift
let layout = KLCalendarLaneEngine().layout(
    events: events,
    in: week,
    configuration: .init(calendar: calendar, maximumLaneCount: 2)
)
let segments = layout.segments(startingOn: day)
KLCalendarLaneEngine

為可見的半開網格區間計算 `KLCalendarLaneLayout`。

KLCalendarLaneConfiguration

定義 `Calendar`、每列欄數、軌道上限與結束邊界語義。

KLCalendarLaneLayout

提供列內片段、決定性的溢出ID與依日查詢方法。

範例App

MonthLane

使用 `Calendar` 正規化跨日範圍 · 在列邊界產生帶首尾標記的片段

LaneStressLab

決定性地分配軌道並記錄溢出事件 · 依日查詢被範圍事件占用的軌道數