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, 날짜별 조회를 제공합니다.
데모 앱
MonthLane
`Calendar` 기반 여러 날 범위 정규화 · 행 경계에서 시작과 끝 정보를 가진 세그먼트 생성
LaneStressLab
결정적인 레인 배정과 오버플로 기록 · 범위 이벤트가 차지하는 레인 수를 날짜별로 조회