study record

[iOS] FSCalendar 특정날짜에 이미지 넣기 본문

iOS/iOS 정리

[iOS] FSCalendar 특정날짜에 이미지 넣기

asong 2021. 12. 2. 23:58

캘린더에 특정 날짜들에만 특정 이미지를 넣고자 하였다.

하지만 구글링하여도 잘 나오지 않았고, 공식 깃허브 사이트에도 그 방법이 제대로 나와있지는 않았다.

예시로 올려준 https://github.com/WenchaoD/FSCalendar/blob/master/Example-Swift/FSCalendarSwiftExample/InterfaceBuilderViewController.swift 이 파일을 참고하여 기능을 구현하였다.

 

    fileprivate let datesWithCat = ["20211201","20150605"]
    
    // 특정 날짜에 이미지 세팅
    func calendar(_ calendar: FSCalendar, imageFor date: Date) -> UIImage? {
        let imageDateFormatter = DateFormatter()
        imageDateFormatter.dateFormat = "yyyyMMdd"
        var dateStr = imageDateFormatter.string(from: date)
        print("date : \(dateStr)")
        return datesWithCat.contains(dateStr) ? UIImage(named: "icon_cat") : nil
        }

extension CalendarViewController 코드 블럭 안에 위의 코드를 넣어 구현하였다.

datesWithCat이라는 배열에 원하는 특정 날짜들을 넣고, 다음의 메서드를 통해 원하는 이미지를 세팅이 가능하다. imageFor의 date는 모든 날짜를 데려온다. 따라서 이미지를 넣고자 하는 특정날짜들로 구성된 배열을 만들고 원하는 이미지를 세팅하기만 하면 완성이다.