2017-12-29 135 views
1

ここに私のコードです。私はドットの色を変更しようとしていますが、解決策は見つかりませんでした。この例では、hereから取られFSCalenderでのイベントドットカラーの変更方法

Image of the dots in the calender

+0

ようこそStackOverflow! [this](https://github.com/WenchaoD/FSCalendar/blob/master/Example-Swift/FSCalendarSwiftExample/DelegateAppearanceViewController.swift)を見ることをお勧めします。これはDelegateAppearanceViewControllerの例です。私はそこにドット色を変えているのを見たことがあると思います。 (少なくとも、eventDotColorsのパラメータがあります) –

+0

ありがとうございます。 –

+0

私はちょっと気が利いているので、自分自身で答えを追加しました:D –

答えて

0

:ここ

func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int { 


    return 1; 
} 
func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, eventColorFor date: Date) -> UIColor? { 

     return UIColor.red 

} 

おかげ

は、これらのイベント・ドットの一例イメージです。基本的には、指定されたメソッドを使用して、イベントタイプなどをチェックし、好意的な色を返します。

//Used by one of the example methods 
var datesWithEvent = ["2015-10-03", "2015-10-06", "2015-10-12", "2015-10-25"] 
var datesWithMultipleEvents = ["2015-10-08", "2015-10-16", "2015-10-20", "2015-10-28"] 

//Used in one of the example methods 
fileprivate lazy var dateFormatter2: DateFormatter = { 
    let formatter = DateFormatter() 
    formatter.dateFormat = "yyyy-MM-dd" 
    return formatter 
}() 

完全な例は埋め込みのために長いですから、私は2つの例の方法しか取らなかった。私はこの例のフィールドを追加して、そのようなメソッドがどのように見えるかの「完全な」例を得ました。よりよく理解するために

func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, eventColorFor date: Date) -> UIColor? { 
    //Do some checks and return whatever color you want to. 
    return UIColor.purple 
} 

func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, eventDefaultColorsFor date: Date) -> [UIColor]? { 
    let key = self.dateFormatter2.string(from: date) 
    if self.datesWithMultipleEvents.contains(key) { 
     return [UIColor.magenta, appearance.eventDefaultColor, UIColor.black] 
    } 
     return nil 
} 

のGithubでリンクされている例のクラスを見てみましょう。その例はかなり自明です。