首页 > 解决方案 > 当前日期边框颜色在 Swift 中的 JTCalendar 中多次显示

问题描述

我以灰色单元格背景显示预订日期,并以黑色边框颜色显示当前日期。我有一个问题,用于显示当前日期的边框颜色每三个月出现在同一地点。请问我该如何解决这个问题?我试图查找有关此问题的问题。我想我只是错过了匹配我的陈述。如果有人能看到我做错了什么,请帮助我解决这个问题。

在此处输入图像描述 在此处输入图像描述

public func calendar(_ calendar: JTCalendarManager!, prepareDayView dayView: (UIView & JTCalendarDay)!)
{
    let mydayview=dayView as! JTCalendarDayView

if dayView.isFromAnotherMonth(){
        dayView.isHidden = true


    }
    //        compareWithCurrentDate(date: mydayview.date)

    mydayview.textLabel.font = UIFont(name:"Montserrat-Regular", size:13)
    mydayview.circleRatio = 2
        //1.5
// cornerradius
    mydayview.circleView.layer.cornerRadius = 1

    mydayview.isFromAnotherMonth = false

    mydayview.textLabel.textColor = UIColor.gray


    let dateFormatter = DateFormatter()
    dateFormatter.locale = Locale(identifier: "en_US_POSIX")
    dateFormatter.dateFormat = "yyyy-MM-dd"

    let dateStr = dateFormatter.string(from: mydayview.date)
    print(dateStr)

    if(isAVailableOnSelectedDate(dateStr: dateStr)){

        let now = Date()
        dateFormatter.dateFormat = "yyyy-MM-dd"

        print(dateFormatter.string(from: now))

        if  let currentDate = calendarManager.date() {

         let currentDateString = String(describing: currentDate)

            print(currentDateString)

            if  dateFormatter.string(from: now) == currentDateString.prefix(10){

                mydayview.circleView.isHidden = false

              mydayview.circleView.backgroundColor = UIColor.lightGray.withAlphaComponent(0.5)
                         //1

                mydayview.backgroundColor = UIColor.white
                mydayview.textLabel.textColor = UIColor.black


            }


            else{

                mydayview.circleView.isHidden = true;
                mydayview.backgroundColor = UIColor.white
                           // mydayview.dotView.backgroundColor = UIColor.red
                mydayview.textLabel.textColor = UIColor.gray


            }




        }

    }
    else if calendarManager.dateHelper.date(calendarContentView.date, isTheSameMonthThan: mydayview.date)
    {
        mydayview.circleView.isHidden = true;
        mydayview.backgroundColor = UIColor.white
        // mydayview.dotView.backgroundColor = UIColor.red
        mydayview.textLabel.textColor = UIColor.gray
    }
        // Another day of the current month
    else
    {
        mydayview.circleView.isHidden = true;
        mydayview.backgroundColor = UIColor.white
        mydayview.dotView.backgroundColor = UIColor.clear
        mydayview.textLabel.textColor = UIColor.lightGray
        // mydayview.textLabel.textColor = UIColor.clear
    }

    //Current day

    if calendarManager.dateHelper.date(Date(), isTheSameDayThan: mydayview.date) {

        mydayview.circleView.isHidden = false
        mydayview.circleView.backgroundColor = UIColor.white
        mydayview.layer.borderColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1)
        mydayview.layer.borderWidth = 1

    }
    else if mydayview.date > Date(){
       // mydayview.layer.borderColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
        mydayview.circleView.isHidden = true;
                   mydayview.backgroundColor = UIColor.white
                   mydayview.dotView.backgroundColor = UIColor.clear
                   mydayview.textLabel.textColor = UIColor.lightGray
    }

}

标签: swiftxcodejtcalendar

解决方案


推荐阅读