Commit 594ed7c7 authored by David黄金龙's avatar David黄金龙

完善 时间段选择器

parent e19b7757
......@@ -152,6 +152,11 @@ class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget {
let view = YHRangeDatePickerSheetView.sheetView()
view.block = { (startDate,endDate) in
print("选择的日期是:")
print(startDate)
print(endDate)
}
view.show() //for test hjl
}
......
......@@ -9,7 +9,10 @@
import UIKit
class YHRangeDatePickerSheetView: UIView {
static let contentViewH : CGFloat = YHRangeDatePickerView.viewH + 98 + 112 + 12
static let contentViewH : CGFloat = (16 + 24) + (12 + 1) + (12 + 32) + YHRangeDatePickerView.viewH + 98 + 20
typealias Block = (Date,Date) -> ()
var block: Block?
lazy var blackMaskView: UIView = {
let view = UIView()
......@@ -79,13 +82,6 @@ class YHRangeDatePickerSheetView: UIView {
return button
}()
// lazy var myScrollView: UIScrollView = {
// let view = UIScrollView()
// view.backgroundColor = .clear
// view.showsVerticalScrollIndicator = false
// return view
// }()
lazy var datePickView : YHRangeDatePickerView = {
let view = YHRangeDatePickerView()
return view
......@@ -121,7 +117,7 @@ extension YHRangeDatePickerSheetView {
UIApplication.shared.yhKeyWindow()?.addSubview(self)
UIView.animate(withDuration: 0.5) {
let whiteHeight = YHHKCardTemplateView.contentViewH
let whiteHeight = YHRangeDatePickerSheetView.contentViewH
self.whiteContentView.frame = CGRect(x: 0, y: KScreenHeight - whiteHeight, width: KScreenWidth, height: whiteHeight)
}
}
......@@ -131,7 +127,27 @@ extension YHRangeDatePickerSheetView {
}
@objc func clickSureBtn() {
dismiss()
if isChooseOk() {
if let date1 = datePickView.startDate,let date2 = datePickView.endDate {
self.block?(date1,date2)
}
dismiss()
} else {
YHHUD.flash(message: "选择开始/结束日期")
}
}
func isChooseOk()->Bool {
if datePickView.startDate != nil,datePickView.endDate != nil {
return true
}
return false
}
}
......@@ -197,36 +213,10 @@ private extension YHRangeDatePickerSheetView {
whiteContentView.addSubview(datePickView)
warnImageV.snp.makeConstraints { make in
make.top.equalTo(titleLable.snp.bottom).offset(12)
datePickView.snp.makeConstraints { make in
make.top.equalTo(warnImageV.snp.bottom).offset(12)
make.left.right.equalToSuperview()
make.height.equalTo(YHRangeDatePickerView.viewH)
}
// whiteContentView.addSubview(myScrollView)
// myScrollView.snp.makeConstraints { make in
// make.top.equalTo(lineView.snp.bottom).offset(21)
// make.right.equalToSuperview().offset(-21)
// make.width.equalTo(KScreenWidth - 21 * 2)
// make.height.equalTo(whiteHeight-98 - 16 - 24 - 12 - 1 - 21)
// }
//
//
// if let tmpImage = UIImage(named:"hkCard_template") {
// let scale = Double(tmpImage.size.height / tmpImage.size.width)
// let imageH = scale * (KScreenWidth - 21 * 2)
//
//
// myScrollView.addSubview(bkgImageV)
// bkgImageV.snp.makeConstraints { make in
// make.top.equalToSuperview()
// make.left.equalToSuperview()
// make.width.equalTo(KScreenWidth - 21 * 2)
// make.height.equalTo(imageH)
// }
// myScrollView.contentSize = CGSize(width: KScreenWidth - 21 * 2, height: imageH)
// }
}
}
......@@ -50,7 +50,7 @@ class YHRangeDatePickerView: UIView,FSCalendarDataSource, FSCalendarDelegate, FS
calendar.appearance.weekdayTextColor = UIColor(red: 0.071, green: 0.102, blue: 0.149, alpha: 1)
//日历内容 默认颜色
calendar.appearance.titleDefaultColor = UIColor(red: 0.071, green: 0.102, blue: 0.149, alpha: 1)
// calendar.appearance.titleDefaultColor = UIColor(red: 0.071, green: 0.102, blue: 0.149, alpha: 1)
//日历内容 字体
calendar.appearance.titleFont = UIFont(name: "PingFangSC-Medium", size: 16)
......@@ -59,9 +59,14 @@ class YHRangeDatePickerView: UIView,FSCalendarDataSource, FSCalendarDelegate, FS
//日历内容 选择时 颜色
calendar.appearance.titleSelectionColor = .white
calendar.appearance.subtitleSelectionColor = .white
// calendar.appearance.todayColor = UIColor(red: 0, green: 0.275, blue: 0.706, alpha: 1)
// calendar.appearance.todaySelectionColor = .white
// calendar.appearance.titleTodayColor = UIColor(red: 0, green: 0.275, blue: 0.706, alpha: 1)
//非当月日期 颜色
calendar.appearance.titlePlaceholderColor = UIColor(red: 0.071, green: 0.102, blue: 0.149, alpha: 0.7)
calendar.appearance.titlePlaceholderColor = UIColor(red: 0.071, green: 0.102, blue: 0.149, alpha: 0.2)
//日期 横线
calendar.appearance.separators = .none
......@@ -116,13 +121,16 @@ extension YHRangeDatePickerView {
return nil
}
func calendar(_ calendar: FSCalendar, titleFor date: Date) -> String? {
return self.gregorian.isDateInToday(date) ? "今" : nil
}
func minimumDate(for calendar: FSCalendar) -> Date {
return (dateFormatter.date(from: "2023-07-01"))!
return self.gregorian.date(byAdding: .day, value: -30, to: Date())!
}
func maximumDate(for calendar: FSCalendar) -> Date {
return (dateFormatter.date(from: "2025-07-01"))!
return self.gregorian.date(byAdding: .day, value: 365, to: Date())!
}
func calendar(_ calendar: FSCalendar, cellFor date: Date, at monthPosition: FSCalendarMonthPosition) -> FSCalendarCell {
......@@ -134,9 +142,12 @@ extension YHRangeDatePickerView {
configureCell(cell, for: date, at: monthPosition)
}
func calendar(_ calendar: FSCalendar, boundingRectWillChange bounds: CGRect, animated: Bool) {
self.calendar.frame.size.height = bounds.height
}
// MARK: - FSCalendarDelegate
func calendar(_ calendar: FSCalendar, shouldSelect date: Date, at monthPosition: FSCalendarMonthPosition) -> Bool {
// return monthPosition == .current
return true
}
......@@ -164,13 +175,6 @@ extension YHRangeDatePickerView {
configureVisibleCells()
}
// func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, eventDefaultColorsFor date: Date) -> [UIColor]? {
// if (gregorian.isDateInToday(date)) {
// return [UIColor.orange]
// }
// return [appearance.eventDefaultColor]
// }
}
// MARK: - Private methods
......@@ -187,6 +191,7 @@ private extension YHRangeDatePickerView {
func tapOneDate(_ date : Date) {
if startDate == nil {
startDate = date
YHHUD.flash(message: "开始选择结束日期")
} else if endDate == nil {
// 比较结果
let comparisonResult = gregorian.compare(startDate!, to: date, toGranularity: .day)
......@@ -208,6 +213,7 @@ private extension YHRangeDatePickerView {
calendar.deselect(endDate!)
startDate = date
endDate = nil
YHHUD.flash(message: "开始选择结束日期")
}
}
......
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