0

为了设置我正在这样做的图像

func calendar(_ calendar: FSCalendar, imageFor date: Date) ->     
      UIImage? {
    let day: Int! = self.gregorian.component(.day, from: date)
    if day == 6 || day == 10{
        return UIImage(named: "event_calender")
    }else if day == 7 || day == 14{
        return UIImage(named: "holiday_calender_line")
    }
    else if day == 7 || day == 14{
        return UIImage(named: "birthday_calender_line")
    }
    else{
         return [13,4].contains(day) ? UIImage(named: "icon_cat") : nil
    }
}

但是我如何从这个委托方法中更改选定的日期图像

func calendar(_ calendar: FSCalendar, didSelect date: Date, at monthPosition: FSCalendarMonthPosition) {
    print("calendar did select date \(self.formatter.string(from: date))")
}

说当前图像是“holiday_calender_line”,并且在选择时想要更改为“holiday_calender_solid”。

4

1 回答 1

-1

尝试这个 ..

let holidays:  [Date] = []
let events:    [Date] = []
let birthdays: [Date] = []

func calendar(_ calendar: FSCalendar, imageFor date: Date) -> UIImage? {

    if holidays.contains(date) {
        return holidays.contains(date) ? UIImage(named: "holiday_calender_line") : nil
    } else if events.contains(date) {
        return events.contains(date) ? UIImage(named: "event_calender") : nil
    } else if birthdays.contains(date) { 
        return birthdays.contains(date) ? UIImage(named: "birthday_calender_line") : nil
    } 

   return nil
}
于 2017-09-05T09:36:04.840 回答