

Telegram의 Richard Topchii
Calendarkit은 iOS 및 Mac 촉매를위한 신속한 캘린더 UI 라이브러리입니다. Apple Calendar 앱과 비슷해 보이며 필요할 때 사용자 정의를 허용합니다. Calendarkit은 함께 또는 독립적으로 사용할 수있는 여러 모듈로 구성됩니다.
응용 프로그램에서 Calendarkit을 사용하는 방법에 대한 프로그래밍 질문이 있는 경우 질문 태그와 함께 새로운 Github 문제를 만듭니다.
참조는 샘플 앱을 확인하십시오.
템플릿에서 새 문제를 만들어 버그를보고하거나 새 기능을 요청하십시오.
동영상
샘플 앱
Calendarkit은 Swift 패키지 관리자 또는 Cocoapods와 함께 설치할 수 있습니다.
Calendarkit을 설치하는 선호하는 방법은 Swift 패키지 관리자를 통해입니다.
https://github.com/richardtop/CalendarKit.git )을 붙여 넣고 다음을 클릭하십시오.앱에 패키지 종속성 추가
설치하려면 다음 줄을 podfile에 추가하십시오.
pod 'CalendarKit'Xcode 프로젝트에 포드 추가
DayViewControllerEventDataSource 프로토콜을 구현하십시오. Calendarkit은 EventDataSource 가 EventDescriptor 프로토콜을 준수하는 다양한 객체를 반환하여 특정 이벤트를 표시하는 데 필요한 모든 정보를 지정해야합니다. 기본 Event 클래스를 모델로 사용하거나 EventDescriptor 프로토콜을 준수하는 자신의 클래스를 만들 수 있습니다.
// Return an array of EventDescriptors for particular date
override func eventsForDate ( _ date : Date ) -> [ EventDescriptor ] {
var models = myAppEventStore . getEventsForDate ( date ) // Get events (models) from the storage / API
var events = [ Event ] ( )
for model in models {
// Create new EventView
let event = Event ( )
// Specify DateInterval
event . dateInterval = DateInterval ( start : model . startDate , end : model . endDate )
// Add info: event title, subtitle, location to the array of Strings
var info = [ model . title , model . location ]
info . append ( " ( datePeriod . beginning! . format ( with : " HH:mm " ) ) - ( datePeriod . end! . format ( with : " HH:mm " ) ) " )
// Set "text" value of event by formatting all the information needed for display
event . text = info . reduce ( " " , { $0 + $1 + " n " } )
events . append ( event )
}
return events
}특정 날에 일련의 이벤트를 받으면 Calendarkit은 뷰 레이아웃 및 디스플레이를 처리합니다.
사용자 입력에 응답하려면 DayViewDelegate 의 MehTods를 재정의하십시오.
override func dayViewDidSelectEventView ( _ eventView : EventView ) {
print ( " Event has been selected: ( eventview . data ) " )
}
override func dayViewDidLongPressEventView ( _ eventView : EventView ) {
print ( " Event has been longPressed: ( eventView . data ) " )
} Calendarkit은 현지화를 지원하고 iOS 기본 로케일을 사용하여 월 및 주일 이름을 표시합니다. 요 금일은 iOS 로케일에 따라 선정됩니다.
기본적으로 Calendarkit은 Apple Calendar 앱과 유사하게 보이고 Dark Mode를 완전히 지원합니다. 필요한 경우 Calendarkit의 모양을 쉽게 사용자 정의 할 수 있습니다. 사용자 정의 스타일을 적용하는 단계는 다음과 같습니다.
CalendarStyle 객체 생성 (또는 기존 객체를 복사)CalendarStyle 로 updateStyle 메소드를 호출하십시오. let style = CalendarStyle ( )
style . backgroundColor = UIColor . black
dayView . updateStyle ( style ) 
현재 개발중인 기능 목록은 문제 페이지에서 볼 수 있습니다.
기고하기 전에 지침 및 코드 스타일을 검토하십시오.
Richard Topchii
Calendarkit은 MIT 라이센스에 따라 제공됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.