

ريتشارد توبشي على برقية
Calendarkit هي مكتبة واجهة المستخدم Swift التقويم لنظام التشغيل iOS و Mac Catalyst. يبدو مشابهًا لتطبيق Apple Calendar خارج الصندوق ، مع السماح بالتخصيص عند الحاجة. يتكون التقويم من وحدات متعددة يمكن استخدامها معًا أو بشكل مستقل.
إذا كان لديك سؤال برمجة حول كيفية استخدام التقويم في التطبيق الخاص بك ، فقم بإنشاء مشكلة GitHub جديدة مع علامة السؤال.
تحقق من نموذج التطبيق للرجوع إليه.
قم بإنشاء مشكلة جديدة من قالب للإبلاغ عن خطأ أو طلب ميزة جديدة.
فيديو
نموذج التطبيق
يمكن تثبيت Calendarkit مع Swift Package Manager أو مع Cocoapods.
الطريقة المفضلة لتثبيت التقويم هي عبر مدير الحزمة 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 مع تخطيط العرض والعرض.
للرد على مدخلات المستخدم ، تجاوز mehtods من DayViewDelegate ، على سبيل المثال:
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 ويدعم تمامًا الوضع المظلم. إذا لزم الأمر ، يمكن تخصيص مظهر التقويم بسهولة. خطوات تطبيق النمط المخصص هي كما يلي:
CalendarStyle جديد (أو نسخ واحد موجود)updateStyle مع CalendarStyle الجديد. let style = CalendarStyle ( )
style . backgroundColor = UIColor . black
dayView . updateStyle ( style ) 
يمكن الاطلاع على قائمة الميزات الموجودة حاليًا على صفحة القضايا.
قبل المساهمة ، يرجى مراجعة الإرشادات وأسلوب الرمز.
ريتشارد توبشي
التقويم متاح بموجب ترخيص معهد ماساتشوستس للتكنولوجيا. انظر ملف الترخيص لمزيد من المعلومات.