[swift] FSCalendar에서 선택 가능한 최소/최대 날짜 설정

FSCalendar는 유연하고 사용하기 쉬운 iOS 라이브러리로, 사용자에게 날짜를 선택하고 표시할 수 있는 달력 인터페이스를 제공합니다. 이 라이브러리의 장점 중 하나는 선택 가능한 최소/최대 날짜를 설정할 수 있다는 것입니다. 이를 통해 사용자가 특정 날짜 범위 내에서만 선택할 수 있도록 제한할 수 있습니다.

다음은 FSCalendar에서 선택 가능한 최소/최대 날짜를 설정하는 방법입니다.

  1. FSCalendarDelegate를 구현하기 위해 클래스에 다음 코드를 추가합니다:
class ViewController: UIViewController, FSCalendarDelegate {
  // ...
}
  1. 선택 가능한 최소/최대 날짜를 설정하기 위해 다음 함수를 구현합니다:
func minimumDate(for calendar: FSCalendar) -> Date {
    // 원하는 최소 날짜로 설정
    let minimumDate = Calendar.current.date(byAdding: .month, value: -6, to: Date())    
    return minimumDate!
}

func maximumDate(for calendar: FSCalendar) -> Date {
    // 원하는 최대 날짜로 설정
    let maximumDate = Calendar.current.date(byAdding: .month, value: 6, to: Date())
    return maximumDate!
}

위의 예제에서는 현재 날짜로부터 최소 6개월 전과 최대 6개월 이후의 날짜를 선택 가능한 범위로 설정했습니다. 하지만 원하는 범위로 설정할 수 있으며, date(byAdding:to:) 함수를 사용하여 날짜를 조정할 수 있습니다.

  1. 최소/최대 날짜를 설정한 후, FSCalendarDelegate의 함수가 호출되도록 delegate를 설정합니다. 예를 들어, viewDidLoad() 함수에서 다음과 같이 설정할 수 있습니다:
override func viewDidLoad() {
    super.viewDidLoad()
    
    calendar.delegate = self
}

이제 FSCalendar에서 사용자가 선택할 수 있는 날짜 범위가 최소 날짜에서 최대 날짜로 제한됩니다. 이를 통해 앱의 사용자 경험을 개선하고, 잘못된 날짜를 선택할 가능성을 줄일 수 있습니다.

더 자세한 정보는 FSCalendar GitHub 페이지를 참조하시기 바랍니다.