[swift] FSCalendar에서 글자 크기 및 스타일 설정

FSCalendar은 iOS에서 동적인 달력을 표시하기 위한 라이브러리입니다. 사용자는 FSCalendar의 외관을 커스텀하여 캘린더의 모양을 변경할 수 있습니다. 이 중에서 글자 크기와 스타일을 설정하는 방법에 대해 알아보겠습니다.

글자 크기 설정하기

FSCalendar의 글자 크기는 FSCalendarDelegateAppearance 프로토콜을 통해 조정할 수 있습니다. 먼저 해당 프로토콜을 구현하기 위해 클래스에 다음과 같이 선언합니다.

class MyCalendarViewController: UIViewController, FSCalendarDelegateAppearance {
    // ...
}

그런 다음 FSCalendarDelegate에서 제공하는 titleDefaultColorFor 메소드를 구현하여 원하는 크기의 글자 색상을 설정합니다. 예를 들어, 글자 크기를 14로 설정하고 기본 색상을 검정으로 설정하려면 다음과 같이 구현할 수 있습니다.

extension MyCalendarViewController {
    func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, titleDefaultColorFor date: Date) -> UIColor? {
        return UIColor.black
    }
    
    func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, titleDefaultFontFor date: Date) -> UIFont? {
        return UIFont.systemFont(ofSize: 14)
    }
}

위 코드에서 titleDefaultColorFor 메소드는 날짜에 대한 기본 색상을 설정하고, titleDefaultFontFor 메소드는 날짜에 대한 기본 글꼴 크기를 설정합니다.

스타일 설정하기

글자 스타일 이외에도 FSCalendar의 다양한 스타일을 커스텀할 수 있습니다.

예를 들어, 선택된 날짜의 글자색을 파랑색으로 설정하고, 오늘 날짜의 텍스트 컬러를 빨간색으로 설정하는 방법은 다음과 같습니다.

extension MyCalendarViewController {
    func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, titleSelectionColorFor date: Date) -> UIColor? {
        return UIColor.blue
    }
    
    func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, titleTodayColorFor date: Date) -> UIColor? {
        return UIColor.red
    }
}

위 코드에서 titleSelectionColorFor 메소드는 선택된 날짜의 글자색을 설정하고, titleTodayColorFor 메소드는 오늘 날짜의 글자색을 설정합니다.

FSCalendar에서 제공하는 다른 스타일도 유사한 방식으로 커스텀할 수 있습니다.

이렇게 글자 크기와 스타일을 설정하여 FSCalendar를 보다 다양하고 개인적인 스타일로 커스텀할 수 있습니다.

참고 자료