Swift软件包 · v0.1.0
KLCalendarLanes
为日历网格中的跨日全天事件条分配确定性的轨道。
KLCalendarLanes是不依赖UI的日历网格布局引擎。它使用提供的 `Calendar` 归一化日期,在行边界拆分事件条,并返回轨道、溢出事件和按天查询的占用信息。
功能
- 使用 `Calendar` 归一化跨日范围
- 在行边界生成带首尾标记的片段
- 确定性地分配轨道并记录溢出事件
- 按天查询被范围事件占用的轨道数
不包含的功能
软件包只计算范围事件条的几何信息。标题、颜色、当天事件行、视图和宿主事件模型都由接入应用负责。
通过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)API文档
打开完整API文档。KLCalendarLaneEngine为可见的半开网格区间计算 `KLCalendarLaneLayout`。
KLCalendarLaneConfiguration定义 `Calendar`、每行列数、轨道上限和结束边界语义。
KLCalendarLaneLayout提供行内片段、确定性的溢出ID和按天查询方法。
示例App
MonthLane
使用 `Calendar` 归一化跨日范围 · 在行边界生成带首尾标记的片段
LaneStressLab
确定性地分配轨道并记录溢出事件 · 按天查询被范围事件占用的轨道数