[swift] FSCalendar의 날짜 선택 기능

FSCalendar은 iOS 앱에서 캘린더를 구현하는 데 사용되는 라이브러리입니다. 이 라이브러리를 사용하여 사용자가 특정 날짜를 선택할 수 있도록 하는 기능을 구현하는 방법에 대해 알아보겠습니다.

1. FSCalendar 라이브러리 설치

FSCalendar을 사용하기 위해 먼저 프로젝트에 FSCalendar 라이브러리를 설치해야 합니다. CocoaPods를 사용하는 경우 Podfile에 다음과 같이 라이브러리를 추가합니다.

pod 'FSCalendar'

설치 후에는 import FSCalendar을 사용하여 FSCalendar을 임포트할 수 있습니다.

2. FSCalendarDelegate 설정

FSCalendarDelegate는 캘린더에서 발생하는 이벤트를 처리할 수 있는 메소드를 정의하는 프로토콜입니다. 날짜 선택 이벤트를 처리하기 위해 먼저 FSCalendarDelegate를 설정해야 합니다.

class ViewController: UIViewController, FSCalendarDelegate {
    //...
}

3. FSCalendarDelegate의 날짜 선택 메소드 구현

FSCalendarDelegate 프로토콜에서는 다양한 메소드를 사용할 수 있지만, 날짜 선택을 처리하기 위해 calendar(_:didSelect:date:) 메소드를 구현해야 합니다.

func calendar(_ calendar: FSCalendar, didSelect date: Date, at monthPosition: FSCalendarMonthPosition) {
    // 선택된 날짜 처리 로직 구현
    print("선택된 날짜: \(date)")
}

위의 코드에서는 선택된 날짜를 콘솔에 출력하는 간단한 예시를 보여주고 있습니다. 실제로는 선택된 날짜를 활용하여 원하는 동작을 수행할 수 있습니다.

4. FSCalendarDelegate 설정하기

FSCalendarDelegate를 사용하기 위해서는 FSCalendar 인스턴스에 delegate를 설정해야 합니다. 주로 viewDidLoad() 메소드에서 설정하는 것이 일반적입니다.

override func viewDidLoad() {
    super.viewDidLoad()
    calendar.delegate = self
}

5. 실제 캘린더 인터페이스에 FSCalendar 적용하기

마지막으로, FSCalendar을 실제 캘린더 인터페이스에 적용해야 합니다. Interface Builder에서 FSCalendar를 추가하거나, 코드로 FSCalendar을 생성하여 View에 추가할 수 있습니다.

Interface Builder를 사용하는 경우, Storyboard 또는 XIB 파일에서 FSCalendarView를 추가하고, delegate를 연결해야 합니다.

@IBOutlet weak var calendar: FSCalendar!

코드로 FSCalendar을 생성하는 경우, viewDidLoad() 메소드에서 FSCalendar 인스턴스를 생성하고, delegate를 설정해야 합니다.

let calendar = FSCalendar(frame: CGRect(x: 0, y: 0, width: 320, height: 300))
calendar.delegate = self
view.addSubview(calendar)

FSCalendar을 인터페이스에 적용한 후, 사용자가 날짜를 선택하면 calendar(_:didSelect:date:) 메소드가 호출되어 선택한 날짜를 처리할 수 있습니다.

참고 자료