swift - 当前日期边框颜色在 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
}
}
解决方案
推荐阅读
- laravel - Laravel 表单验证器 required_if
- xampp - .htacces 问题,在 laravel 5.7 中显示目录页面而不是欢迎页面
- postgresql - STRING_AGG() 在分隔符内使用表达式(结果偏移一次迭代)
- apache-nifi - 无法在 Windows 10 上安装 Apache Nifi
- android - 使用过渡管理器的动画不起作用
- ngrok - 未找到隧道
- encoding - 如何在 PDF417 条码中存储更多数据?
- html - 在悬停时,如何同时更改单个 div 中的图像和文本的颜色?
- asp.net-identity - 使用 IdentityServer4 进行机器对机器授权
- java - 从相机预览中保存的横向图像