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

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

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