こんにちは、nukkkyです。
ツール系アプリ開発時にカレンダー表示を
よく使うと思いますが自作は面倒です。
そこで今回はswiftで簡単にカレンダーが表示できるライブラリ
「FSCalendar」を紹介したいと思います。
https://github.com/WenchaoD/FSCalendar
今回はCarthageを使用します。
Cartfileにこちらを記述してください。
github "WenchaoD/FSCalendar"
そうしたら、以下のコマンドでビルドしてください。
carthage update --platform iOS
Storyboardにカレンダーを表示したい分「UIView」を用意し
「Class」を「FSCalendar」にします。
そして、「FSCalendar」の「dataSource」と「delegate」を
「View Controller」に設定します。
「FSCalendar」をインポートします。
import FSCalendar
「FSCalendar」の「dataSource」と「delegate」を継承します。
class ViewController: UIViewController,FSCalendarDataSource,FSCalendarDelegate {
実行するとこのようなカレンダーが表示されます。
日付をタップするとフォーカスされます。
せっかくなのでタップ取得の処理も書いておこうと思います。
func calendar(_ calendar: FSCalendar, didSelect date: Date, at monthPosition: FSCalendarMonthPosition) { // 処理 }
「FSCalendar」如何だったでしょうか?
今回はあくまでも標準のカレンダーの表示とタップ取得だけでしたが、
作者様のgithubにスクリーンショットや動きがわかる画像があるので
よかったら見に行ってみてください。
コメントを見る
日付をタップすると週間カレンダーに画面遷移するにはどうすればいいですか?
コメントありがとうございます!
私の方ではそのような実装をしたことはないのですが日付のタップは以下のコードから取得できるので
こちらの処理内に画面のアニメーションや場合によっては画面遷移などの処理を追加していただければと思います。
https://github.com/WenchaoD/FSCalendar/tree/master/Example-Swift
作者様のgithubでサンプルコードも用意されているのでこちらをご参考にしていただければと思います。