2017-12-29 141 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의 링크 된 예제 클래스를 살펴보십시오. 그 예는 꽤 자명하다.