【Swift】FSCalendarのデリゲート(calendar)メソッド一覧!

この記事からわかること

  • SwiftFSCalendarライブラリ用意されているデリゲートメソッド一覧

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

参考文献:Github:FSCalendar

Swiftで使えるカレンダーライブラリFSCalendarに用意されているデリゲートメソッドをまとめました。FSCalendarの使い方に関しては以下の記事を参考にしてください。

FSCalendarのデリゲート(calendar)メソッドの使い方

FSCalendarではさまざまな処理や機能がデリゲートメソッドとして用意されています。使用するためには対象のクラスがFSCalendarDataSourceFSCalendarDelegateプロトコルに準拠している必要があります。デリゲートメソッド名は全てcalendarとなっており、引数と役割が異なります。

デリゲートメソッドを使用するためにUIViewControllerに各プロトコルを準拠させたあとFSCalendarインスタンスを生成し、dataSourceプロパティとdelegateプロパティに自身をセットします。

import UIKit
import FSCalendar

class ViewController: UIViewController,FSCalendarDataSource,FSCalendarDelegate {
    
      override func viewDidLoad() {
        super.viewDidLoad()
        let calendar = FSCalendar(frame: CGRect(x: 50, y: 200, width: 320, height: 300))
        calendar.dataSource = self
        calendar.delegate = self
        view.addSubview(calendar)
      }
}

これで各プロトコルに用意されているデリゲートメソッドが使用できるようになりました。

FSCalendarに用意されているデリゲート(calendar)メソッド一覧

 // 指定された日付のタイトルを、日付けのテキストの代わりとして dataSource に要求します。
- (nullable NSString *)calendar:(FSCalendar *)calendar titleForDate:(NSDate *)date.DATA:(nullable NSString *)calendar:(FSCalendar *)calendar titleForDate:(NSDate *)date;


// 指定された日付のサブタイトルを曜日テキストの下に表示するかどうか、dataSourceに問い合わせます。
- (nullable NSString *)calendar:(FSCalendar *)calendar subtitleForDate:(NSDate *)date;


// 指定された日付の画像を dataSource に問い合わせます。
- (nullable UIImage *)calendar:(FSCalendar *)calendar imageForDate:(NSDate *)date; // 指定された日付の画像をデータソースとして問い合わせます  (NSDate *)date;


// 表示する最小の日付をdataSourceに問い合わせます。
- (NSDate *)minimumDateForCalendar:(FSCalendar *)calendar;


// 表示する最大日付をdataSourceに問い合わせます。
- (NSDate *)maximumDateForCalendar:(FSCalendar *)calendar. (NSDate *)maximumDateForCalendar:(FSCalendar *)calendar;


// カレンダーの特定のデータを挿入するセルをデータソースに問い合わせます。
- (__kindof FSCalendarCell *)calendar:(FSCalendar *)calendar cellForDate:(NSDate *)date atMonthPosition:(FSCalendarMonthPosition)position.FSCalendarCell:(NSDate *)date atMonthPosition:(FSCalendarMonthPosition)position;


// 指定された日付のイベントドットの数をデータソースに問い合わせます。
- (NSInteger)calendar:(FSCalendar *)calendar numberOfEventsForDate:(NSDate *)date;  (NSInteger)calendar:(FSCalendar *)calendar numberOfEventsForDate:(NSDate *)date;

// FSCalendarオブジェクトのデリゲートは、FSCalendarDelegateプロトコルを採用する必要があります。FSCalendarDelegateのオプションメソッドは、選択、ユーザーイベント、カレンダーのフレームを管理するのに役立ちます。

FSCalendarDelegate <NSObject> プロトコル

オプション
// 特定の日付をタップして選択できるかどうかをデリゲートに問い合わせます。
- (BOOL)calendar:(FSCalendar *)calendar shouldSelectDate:(NSDate *)date atMonthPosition:(FSCalendarMonthPosition)monthPosition.BOOL (FSCalendarMonthPosition)月位置;


// カレンダーの日付がタップで選択されたことをデリゲートに通知します。
- (void)calendar:(FSCalendar *)calendar didSelectDate:(NSDate *)date atMonthPosition:(FSCalendarMonthPosition)monthPosition.FSCalendarMonthPosition:(FSCalendarMonthPosition)monthPosition;

// 特定の日付をタップして非選択にすることができるかどうかをデリゲートに問い合わせます。 
- (BOOL)calendar:(FSCalendar *)calendar shouldDeselectDate:(NSDate *)date atMonthPosition:(FSCalendarMonthPosition)monthPosition;


// カレンダーの日付をタップして非選択にすることをデリゲートに通知します。
- (void)calendar:(FSCalendar *)calendar didDeselectDate:(NSDate *)date atMonthPosition:(FSCalendarMonthPosition)monthPosition.FSCalendarMonthPosition:(FSCalendarMonthPosition)monthPosition;



// カレンダーが外接矩形を変更しようとしていることをデリゲートに伝えます。

- (void)calendar:(FSCalendar *)calendar boundingRectWillChange:(CGRect)bounds animated:(BOOL)animated;


// 指定されたセルがカレンダーに表示されることをデリゲートに通知します。
- (void)calendar:(FSCalendar *)calendar willDisplayCell:(FSCalendarCell *)cell forDate:(NSDate *)date atMonthPosition:(FSCalendarMonthPosition)monthPosition.FSCalendarCell forDate:(NSDate *)date atMonthPosition:(FSCalendarMonthPosition) monthPosition;


// カレンダーが現在のページを変更しようとしていることをデリゲートに通知します。
- (void)calendarCurrentPageDidChange:(FSCalendar *)calendar;

// FSCalendarDelegateAppearanceは、カレンダー内のコンポーネントのフォントや色を決定しますが、より具体的には、FSCalendarAppearanceを使用します。基本的に、カレンダーの外観をグローバルにカスタマイズする必要がある場合は、FSCalendarAppearanceを使用します。しかし、日ごとに異なる外観が必要な場合は、FSCalendarDelegateAppearanceを使用します。
// @see  FSCalendarAppearance
プロトコル FSCalendarDelegateAppearance <FSCalendarDelegate>

// 指定された日付の非選択状態での塗りつぶしの色をデリゲートに問い合わせます。
- (nullable UIColor *)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance fillDefaultColorForDate:(NSDate *)date.FSCalendarDelegate:(FSCalendarAppearance *)appearance.FSCalendarAppearance:(NSDate *)date.Date;


// 指定された日付の選択状態での塗りつぶし色をデリゲートに問い合わせます。
- (nullable UIColor *)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance fillSelectionColorForDate:(NSDate *)date; 

// 指定された日付の非選択時の文字色をデリゲートに問い合わせます。
- (nullable UIColor *)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance titleDefaultColorForDate:(NSDate *)date;


// 指定された日付の、選択された状態の日の文字色をデリゲートに問い合わせます。
- (nullable UIColor *)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance titleSelectionColorForDate:(NSDate *)date;


// 指定された日付の非選択時の字幕の色をデリゲートに問い合わせます。
- (nullable UIColor *)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance subtitleDefaultColorForDate:(NSDate *)date; 


// 指定された日付の選択された状態での字幕の色をデリゲートに問い合わせます。
- (nullable UIColor *)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance subtitleSelectionColorForDate:(NSDate *)date; 


// 指定された日付のイベントカラーをデリゲートに問い合わせます。
- (nullable NSArray<UIColor *> *)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance eventDefaultColorsForDate:(NSDate *)date;


// 指定された日付の選択状態にある複数のイベントカラーをデリゲートに問い合わせます。
- (nullable NSArray<UIColor *> *)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance eventSelectionColorsForDate:(NSDate *)date;


// 指定された日付の非選択状態のボーダーカラーをデリゲートに問い合わせます。
- (nullable UIColor *)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance borderDefaultColorForDate:(NSDate *)date; 


// 指定された日付の選択状態でのボーダーカラーをデリゲートに問い合わせます。
- (nullable UIColor *)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance borderSelectionColorForDate:(NSDate *)date; 


// 指定された日付の曜日テキストのオフセットをデリゲートに問い合わせます。
- (CGPoint)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance titleOffsetForDate:(NSDate *)date;


// 指定された日付の字幕のオフセットをデリゲートに問い合わせます。
- (CGPoint)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance subtitleOffsetForDate:(NSDate *)date;


// 指定された日付の画像のオフセットをデリゲートに問い合わせます。
 
- (CGPoint)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance imageOffsetForDate:(NSDate *)date;


// 指定された日付のイベントドットのオフセットをデリゲートに問い合わせます。
- (CGPoint)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance eventOffsetForDate:(NSDate *)date;

// 指定された日付の境界線の半径をデリゲートに問い合わせます。
- (CGFloat)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance borderRadiusForDate:(NSDate *)date;

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index