

TelegramのRichard Topchii
Calendarkitは、iOSおよびMac CatalystのSwift Calendar UIライブラリです。必要に応じてカスタマイズを許可しながら、すぐに使用できるAppleカレンダーアプリに似ています。 Calendarkitは、一緒にまたは独立して使用できる複数のモジュールで構成されています。
アプリケーションでCalendarkitを使用する方法についてプログラミングの質問がある場合は、質問タグで新しいGitHubの問題を作成します。
参照については、サンプルアプリをご覧ください。
テンプレートから新しい問題を作成して、バグを報告するか、新しい機能をリクエストします。
ビデオ
サンプルアプリ
Calendarkitは、Swift Package ManagerまたはCocoapodsでインストールできます。
Calendarkitをインストールする好ましい方法は、Swift Package Managerを介して行われます。
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 ) 
現在開発中の機能のリストは、問題ページで表示できます。
貢献する前に、ガイドラインとコードスタイルを確認してください。
リチャード・トップチ
CalendarkitはMITライセンスの下で利用できます。詳細については、ライセンスファイルを参照してください。