2017-01-09 105 views
1

私はFSCalendarを使用してプロジェクトにカレンダーUIを追加しています。 しかし、私はいくつかの選択された日付のbgの色を変更するための解決策を見つけることができません。 すばやく3のFSCalendarで選択された日付の色をどのように変更するかを誰にでも教えてもらえますか?FSCalendar - 選択した日付のbg色を変更するSwift 3?

import FSCalendar 
    fileprivate weak var calendar: FSCalendar! 
    override func viewDidLoad() { 
    super.viewDidLoad() 

    // In loadView or viewDidLoad 
    let calendar = FSCalendar(frame: CGRect(x: 0, y: 0, width: 320, height: 300)) 
    calendar.dataSource = self 
    calendar.delegate = self 
    view.addSubview(calendar) 
    self.calendar = calendar 

    // Do any additional setup after loading the view. 
} 

答えて

2

手順を実行してください。

1)。デリゲートFSCalendarDelegateAppearance

2)を追加します。以下は私の参照配列です。あなたはあなたを持っているはずです

let selectedDates = ["2017/01/08", "2017/01/06", "2017/01/17"] 

3)です。日付フォーマッタを追加する

fileprivate lazy var dateFormatter1: DateFormatter = { 
    let formatter = DateFormatter() 
    formatter.dateFormat = "yyyy/MM/dd" 
    return formatter 
}() 

3)。

calendar.select(self.dateFormatter1.date(from: "2017/01/08")) 

4)を使用して日付を選択してください。色の変更のためのデリゲートメソッドを追加します。

func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, fillSelectionColorFor date: Date) -> UIColor? { 

    let dateString = self.dateFormatter1.string(from: date) 

    if self.selectedDates.contains(dateString) { 
     return UIColor.green 
    } 

    return appearance.selectionColor 
} 

5)。今すぐ実行してください。 :)

+0

おかげで、私は1,2,3などの日付に対応する広告色にしたかった –

+0

デフォルトの背景色を変更したい場合 –

+0

選択した日付の配列を持っていますか?あなたはその色を塗りたいと思う特定の日のために? –

関連する問題