이번 포스팅에서는 캘린더 라이브러리인 FSCalendar
의 기본적인 사용법에 대해 알아보겠습니다. 최근 스케쥴 관리 앱 제작을 시작하면서 캘린더를 사용해야했는데요. 여러 라이브러리가 있지만, 가장 쉽고 커스터마이징이 좋다고 합니다.
공식 깃허브에서 자세한 내용을 확인하실 수 있습니다.
이것 말고도 VACalendar, JAappleCalendar 등 일부 써봤는데, 일단 가장 간편하게 사용할 수 있다는 점 만큼은 확실한 장점 같습니다.
pod 설치하기
프로젝트 생성 후, 터미널에서 프로젝트 폴더로 이동한 뒤 아래 명령어를 실행합니다.pod init
폴더에 생성된 podfile에 아래 내용을 입력 후 저장합니다.pod 'FSCalendar'
이제 다시 터미널로 돌아와서 FSCalendar을 설치합니다. 이런 식의 pod 이용 방법은 한두번해보다 보면 자연스럽게 익힐 수 있습니다.pod install
이제 라이브러리가 프로젝트에 생성되었으니, 사용해볼까요?
storyBoard에 캘린더 생성하기
view 하나를 스토리보드 올린 뒤, 아래와 같이 설정합니다.
- View Class를 FSCalendar로 설정 (뷰에 캘린더가 표시됩니다.)
- ViewController에 delegate, datasource 설정 (컨트롤+뷰 누른 상태로 뷰컨트롤러로 드래그하면 설정가능)
날짜 선택 시 해당일 출력하기
스토리보드에서 생성한 View에 대한 Outlet을 만들고, calendar
라고 명명합니다. 그 후 아래와 같이 뷰컨트롤러에 코드 입력하고 실행하시면, 날짜를 선택할 때마다 해당일이 출력되는 것을 볼 수 있습니다.
해당 기능을 이용해 다음에 Realm
과 연동시켜 데이터베이스화하는 과정에 대해서도 알아보겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | import UIKit import FSCalendar class MainViewController: UIViewController, FSCalendarDataSource, FSCalendarDelegate { @IBOutlet var calendar: FSCalendar! override func viewDidLoad() { super.viewDidLoad() calendar.allowsMultipleSelection = true calendar.delegate = self calendar.dataSource = self // Do any additional setup after loading the view. } // 날짜 선택 시 콜백 메소드 public func calendar(_ calendar: FSCalendar, didSelect date: Date, at monthPosition: FSCalendarMonthPosition) { let dateFormatter = DateFormatter() dateFormatter.dateFormat = "YYYY-MM-dd" print(dateFormatter.string(from: date)) } // 날짜 선택 해제 시 콜백 메소드 public func calendar(_ calendar: FSCalendar, didDeselect date: Date, at monthPosition: FSCalendarMonthPosition) { let dateFormatter = DateFormatter() dateFormatter.dateFormat = "YYYY-MM-dd" print(dateFormatter.string(from: date)) } } | cs |
이 외 여러가지 사용 방법은 공식 사이트인 여기에서 확인하실 수 있습니다.
'Developer > iOS, Swift' 카테고리의 다른 글
[Swift] 이미지 라이브러리, KingFisher와 AlamofireImage (0) | 2020.02.19 |
---|---|
[Swift] Realm 기본 사용 방법 및 예제 (1) | 2020.01.09 |
[Swift] View 둥근 모서리 만들기 (RoundView) (0) | 2019.12.16 |
[Swift] 디바이스에서 FCM 토큰키 불러오기 (0) | 2019.12.16 |
[Swift] FCM을 이용한 아이폰 PUSH알람 기능 이용하기 (2) | 2019.12.15 |
댓글