swift - 如果日期等于数组中的日期(JTAppleCalendar),则突出显示日期

标签 swift jtapplecalendar

我有一个包含预订的对象数组

class MonthBookings: NSObject {

    var date: Date = Date()    
    var bookings_count: Int = 0
}

var bookings = [MonthBookings]()

所以我需要检查单元格日期是否等于预订数组中的某个日期,然后更改单元格中该日期的单元格颜色。

我已经在下面尝试过这种方法,但没有成功:

func calendar(_ calendar: JTAppleCalendarView, willDisplayCell cell: JTAppleDayCellView, date: Date, cellState: CellState) {
    guard let sfbCell = cell as? SFBCalendarCell else {return}

    let booking = self.bookingsMonths[cellState.row()]

    if booking.date == date {
        sfbCell.dayText.textColor = .red
    } else {
        sfbCell.dayText.textColor = .black
    }
}

最佳答案

您是在比较还是实际日期/时间? 尝试这样的事情。

let order = CalendarManager.currentCalendar.compare(cellState.date, to: 
Date(), toGranularity: .day)
  if order == .orderedSame {
    calendarCell.dayNumberLabel.textColor = UIColor.white
  }

关于swift - 如果日期等于数组中的日期(JTAppleCalendar),则突出显示日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45054521/

相关文章:

swift - 使用 JTAppleCalender 和 CoreData 进行习惯跟踪

ios - 如何实现AAShareBubles

swift - 将 customCell 标签文本发送到目标 View

ios - JTAppleCalendar 预选当前日期而不触发 isSelected

swift - 开关打开时静态单元改变高度

ios - Swift - 无法使 : UICollectionElementKindCell 类型的 View 出队

ios - iOS 键盘显示通知扩展

swift - 如何测试一个值是否是Int类型

swift - NSFetchedResultsController 不从后台上下文(DATAStack)更新

ios - 通过 JTAppleCalendar 将月份和年份显示为标题