Commit e58a4566 authored by 刘俊宏's avatar 刘俊宏

完善日历选择器各种反向操作

parent f683fd96
......@@ -92,7 +92,7 @@ class TimeSelectView: UIView, FSCalendarDataSource, FSCalendarDelegate {
//MARKl:--新增限定时间 ,如果不为nil就是有限定的时间
var beginDateByWork: Date? = nil
var endDateByWork: Date? = nil
func setOldDate (beginD: Date , endD:Date) {
let selectArr = calendarC.selectedDates
......@@ -142,6 +142,13 @@ class TimeSelectView: UIView, FSCalendarDataSource, FSCalendarDelegate {
let beginDateByWorkT:TimeInterval = beginDateByWork!.timeIntervalSince1970
HUD.flash(.label("所选日期不得小于" + dayByDouble(sender: beginDateByWorkT)), delay: 1.2)
SelectAction = false
if BeginDate != nil && EndDate != nil {
setOldDate(beginD: BeginDate, endD: EndDate)
}else if BeginDate != nil {
let dateEnd = BeginDate.addingTimeInterval(TimeInterval(60*60*24 - 1))
setOldDate(beginD: BeginDate, endD: dateEnd)
}
calendarC.reloadData()
}else{
calendarC.select(date)
......@@ -179,6 +186,13 @@ class TimeSelectView: UIView, FSCalendarDataSource, FSCalendarDelegate {
let beginDateByWorkT:TimeInterval = beginDateByWork!.timeIntervalSince1970
HUD.flash(.label("所选日期不得小于" + dayByDouble(sender: beginDateByWorkT)), delay: 1.2)
SelectAction = false
if BeginDate != nil && EndDate != nil {
setOldDate(beginD: BeginDate, endD: EndDate)
}else if BeginDate != nil {
let dateEnd = BeginDate.addingTimeInterval(TimeInterval(60*60*24 - 1))
setOldDate(beginD: BeginDate, endD: dateEnd)
}
calendarC.reloadData()
}else{
calendarC.select(date)
......@@ -217,13 +231,14 @@ class TimeSelectView: UIView, FSCalendarDataSource, FSCalendarDelegate {
if date > endDateByWork! {
let endDateByWorkT:TimeInterval = endDateByWork!.timeIntervalSince1970
HUD.flash(.label("所选日期不得大于" + dayByDouble(sender: endDateByWorkT)), delay: 1.2)
let selectArr = calendar.selectedDates
for select in selectArr{
calendar.deselect(select)
}
let selectArr = calendar.selectedDates
for select in selectArr{
calendar.deselect(select)
}
calendarC.select(BeginDate)
SelectAction = true
calendarC.reloadData()
}else{
BeginDate = date
EndDate = nil
......@@ -236,7 +251,7 @@ class TimeSelectView: UIView, FSCalendarDataSource, FSCalendarDelegate {
let dateEnd = BeginDate.addingTimeInterval(TimeInterval(60*60*24 - 1)) //无用处
self.delegate?.selectMoreDate(beginDate: BeginDate, endginDate: dateEnd)
}
}
self.configureVisibleCells()
......@@ -263,13 +278,14 @@ class TimeSelectView: UIView, FSCalendarDataSource, FSCalendarDelegate {
let endDateByWorkT:TimeInterval = endDateByWork!.timeIntervalSince1970
HUD.flash(.label("所选日期不得大于" + dayByDouble(sender: endDateByWorkT)), delay: 1.2)
let selectArr = calendar.selectedDates
for select in selectArr{
calendar.deselect(select)
}
for select in selectArr{
calendar.deselect(select)
}
calendarC.select(BeginDate)
SelectAction = true
}else{
calendarC.reloadData()
}else{
BeginDate = date
EndDate = nil
let dateEnd = BeginDate.addingTimeInterval(TimeInterval(60*60*24 - 1)) //无用处
......@@ -281,26 +297,26 @@ class TimeSelectView: UIView, FSCalendarDataSource, FSCalendarDelegate {
let dateEnd = BeginDate.addingTimeInterval(TimeInterval(60*60*24 - 1)) //无用处
self.delegate?.selectMoreDate(beginDate: BeginDate, endginDate: dateEnd)
}
}
self.configureVisibleCells()
}
// //MARK:--最大天数为今日
// func maximumDate(for calendar: FSCalendar) -> Date {
// if endDateByWork == nil{
// return Date().addingTimeInterval(TimeInterval(100*365*60*60*24))//最大为后100年
// }
// return endDateByWork!
// }
// //MARK:--最大天数为今日
// func maximumDate(for calendar: FSCalendar) -> Date {
// if endDateByWork == nil{
// return Date().addingTimeInterval(TimeInterval(100*365*60*60*24))//最大为后100年
// }
// return endDateByWork!
// }
//MARK:--最小天数为今日
//
// func minimumDate(for calendar: FSCalendar) -> Date {
// if beginDateByWork == nil{
// return Date().addingTimeInterval(TimeInterval(-100*365*60*60*24)) //最小为前100年
// }
// return beginDateByWork!
// }
//
// func minimumDate(for calendar: FSCalendar) -> Date {
// if beginDateByWork == nil{
// return Date().addingTimeInterval(TimeInterval(-100*365*60*60*24)) //最小为前100年
// }
// return beginDateByWork!
// }
// func calendar(_ calendar: FSCalendar, shouldSelect date: Date, at monthPosition: FSCalendarMonthPosition) -> Bool {
// return monthPosition == .current
// }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment