

Richard Topchii บนโทรเลข
Calendarkit เป็นห้องสมุด UI ในปฏิทินที่รวดเร็วสำหรับ iOS และ MAC Catalyst มันดูคล้ายกับแอป Apple ปฏิทินนอกกรอบในขณะที่อนุญาตให้ปรับแต่งได้เมื่อจำเป็น ปฏิทินประกอบด้วยหลายโมดูลซึ่งสามารถใช้ร่วมกันหรือเป็นอิสระ
หากคุณมี คำถามการเขียนโปรแกรม เกี่ยวกับวิธีการใช้ปฏิทินในแอปพลิเคชันของคุณให้สร้างปัญหา GitHub ใหม่ด้วยแท็กคำถาม
ตรวจสอบแอพตัวอย่างสำหรับการอ้างอิง
สร้างปัญหาใหม่จากเทมเพลตเพื่อรายงานข้อผิดพลาดหรือขอคุณสมบัติใหม่
วิดีโอ
แอพตัวอย่าง
Calendarkit สามารถติดตั้งด้วย Swift Package Manager หรือ Cocoapods
วิธีที่ต้องการในการติดตั้ง Calendarkit คือผ่าน Swift Package Manager
https://github.com/richardtop/CalendarKit.git ) แล้วคลิก ถัดไปการเพิ่มการพึ่งพาแพ็คเกจลงในแอปของคุณ
หากต้องการติดตั้งให้เพิ่มบรรทัดต่อไปนี้ใน PodFile ของคุณ:
pod 'CalendarKit'การเพิ่มพ็อดลงในโครงการ xcode
DayViewControllerEventDataSource เพื่อแสดงเหตุการณ์ Calendarkit ต้องการ EventDataSource เพื่อส่งคืนอาร์เรย์ของวัตถุที่สอดคล้องกับ EventDescriptor Protocol โดยระบุข้อมูลทั้งหมดที่จำเป็นในการแสดงเหตุการณ์เฉพาะ คุณมีอิสระที่จะใช้คลาส 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 รองรับการแปลและใช้ locale เริ่มต้น iOS เพื่อแสดงชื่อเดือนและวัน วันแรกของสัปดาห์จะถูกเลือกตามสถานที่ iOS
โดยค่าเริ่มต้น Calendarkit จะมีลักษณะคล้ายกับแอพ Apple Calendar และรองรับ Dark Mode อย่างสมบูรณ์ หากจำเป็นรูปลักษณ์ของปฏิทินสามารถปรับแต่งได้ง่าย ขั้นตอนในการใช้สไตล์ที่กำหนดเองมีดังนี้:
CalendarStyle ใหม่ (หรือคัดลอกวัตถุที่มีอยู่)updateStyle ด้วย CalendarStyle ใหม่ let style = CalendarStyle ( )
style . backgroundColor = UIColor . black
dayView . updateStyle ( style ) 
รายการคุณสมบัติในการพัฒนาในปัจจุบันสามารถดูได้ในหน้าปัญหา
ก่อนที่จะมีส่วนร่วมโปรดตรวจสอบแนวทางและรูปแบบรหัส
Richard Topchii
Calendarkit สามารถใช้ได้ภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม