let calendarVC = UICalendarView()
calendarVC.calendar = .current //뷰 컨트롤러의 캘린더를 사용자의 지역의 현재 캘린더로 설정
calendarVC.locale = .current //캘린더 뷰 컨트롤러의 지역을 사용자의 지역의 현재 지역
calendarVC.fontDesign = . rounded //캘린더 뷰 컨트롤러의 글꼴 디자인을 둥근 것으로 설정
해당 코드만 입력했을 경우(오토레이아웃은 별도로 지정) 결과로는 아래 사진과 같이 캘린더가 만들어진다

단, 위 코드의 결과로는 단순 캘린더의 표시만 가능할뿐 날짜 선택에 따른 이벤트는 발생하지 않는다.
날짜의 선택과 데이터 변화에 따른 캘린더를 꾸미길 원한다면 Delegate확장을 이용해서 기능을 추가해야한다
날짜 선택시 이벤트를 발생시키기 위해서는 UICalendarSelectionSingleDateDelegate가 필요하다
공식 애플 개발자 문서 주소는 다음과 같다
https://developer.apple.com/documentation/uikit/uicalendarview
아래 코드를 삽입하면 날짜 선택에 대한 이벤트를 발생시키는 기능을 확장할 수 있다
// 캘린더 날짜 선택시 이벤트를 발생시키는 UICalendarSelectionSingleDate(delegate: self)
calendarVC.selectionBehavior = UICalendarSelectionSingleDate(delegate: self)
calendar: gregorian (current) era: 1 year: 2023 month: 8 day: 31 isLeapMonth: false
extension CalenderViewController: UICalendarSelectionSingleDateDelegate {
func dateSelection(_ selection: UICalendarSelectionSingleDate, didSelectDate dateComponents: DateComponents?) {
if let date = dateComponents?.day {
print(date)
}else {print("empty date")}
}
}
