Jiwift

[iOS/Swift] FSCalendar 최대 최소 선택 가능 날짜 지정 / Custom 달력 maximumDate minimumDate 본문

라이브러리/기타

[iOS/Swift] FSCalendar 최대 최소 선택 가능 날짜 지정 / Custom 달력 maximumDate minimumDate

지위프트 2023. 10. 17. 21:53
반응형

 

달력 예시 사진

 오늘은 FSCalendar 라이브러리에서 선택 가능할 날짜의 최대, 최소를 지정해주도록 하겠습니다. 최대를 지정하면 그 이상으로는 선택이 안되고 최소를 지정하면 그 이하 날짜로는 선택이 불가능해집니다. 

 

// 초기 작업 calendar의 DataSourece를 채택합니다.
self.myFsCalendar.dataSource = self


// MARK: - 캘린더 DataSource
extension ViewController: FSCalendarDataSource {
	// 최소 선택 날짜 지정
    func minimumDate(for calendar: FSCalendar) -> Date {
        // 오늘 날짜를 최소 날짜로 설정
        return Date()
    }
    
    // 최대 선택 날짜 지정
    func maximumDate(for calendar: FSCalendar) -> Date {
        let calendar = Calendar.current
        
        // 3개월 뒤
        let afterThreeMonths = calendar.date(byAdding: .month, value: 3, to: Date())!
        
        return afterThreeMonths
    }
}

  우선 사용을 원하는 fsCalendar를 init하는 시점에 datasource를 채택해줍니다. 그리고 프로토콜을 준수하는 코드들을 작성해주면 완료입니다. 저는 최소 선택 날짜는 앱 기준 당일로 하였고, 최대는 3개월뒤로 하였습니다. 날짜는 원하는 시간으로 return해주면 됩니다.

 

아래는 선택이 불가능한 영역이 흑백 처리된 모습입니다.

적용된 모습

 

반응형