[swift] FSCalendar에서 휴일 표시 기능
FSCalendar는 iOS 애플리케이션에서 사용할 수 있는 유용한 캘린더 라이브러리입니다. 이 라이브러리를 사용하여 휴일을 표시하는 기능을 구현하는 방법을 알아보겠습니다.
1. 휴일 데이터 준비
휴일을 표시하기 위해 해당 날짜의 데이터가 필요합니다. 여기서는 간단한 예시로 배열로 휴일 데이터를 준비합니다.
let holidays = ["2022-01-01", "2022-02-05", "2022-02-06", "2022-02-12"]
2. 캘린더에 휴일 표시하기
FSCalendarDelegate의 calendar:appearance:titleDefaultColorForDate:
메서드를 구현하여 휴일을 표시합니다.
func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, titleDefaultColorFor date: Date) -> UIColor? {
let dateString = DateFormatter.localizedString(from: date, dateStyle: .medium, timeStyle: .none)
if holidays.contains(dateString) {
return .red // 휴일은 빨간색으로 표시
} else {
return nil // 그 외의 날짜는 기본 색상 사용
}
}
3. 휴일 표시 설정
FSCalendar의 appearance 속성을 사용하여 휴일 표시에 대한 스타일을 설정할 수 있습니다.
calendar.appearance.titleDefaultColor = UIColor.gray // 기본 날짜 색상
calendar.appearance.titleDefaultFont = UIFont.systemFont(ofSize: 15) // 기본 날짜 폰트 크기
calendar.appearance.titleWeekendColor = UIColor.red // 주말 날짜 색상
4. 실행 결과
위의 설정을 통해 FSCalendar에 휴일이 표시되는 모습은 다음과 같습니다.