Commit dcffe905 authored by David黄金龙's avatar David黄金龙

具体时间选择 添加默认值

parent aa4c9692
...@@ -94,8 +94,8 @@ class YHRangeDatePickerSheetView2: UIView { ...@@ -94,8 +94,8 @@ class YHRangeDatePickerSheetView2: UIView {
}() }()
lazy var timeHoldView : YHPickTimeHoldView = { lazy var timeHoldView : YHPickTimeHoldView = {
let imageV = YHPickTimeHoldView() let view = YHPickTimeHoldView()
return imageV return view
}() }()
required init?(coder: NSCoder) { required init?(coder: NSCoder) {
...@@ -140,6 +140,13 @@ class YHRangeDatePickerSheetView2: UIView { ...@@ -140,6 +140,13 @@ class YHRangeDatePickerSheetView2: UIView {
} }
} }
var defaultTime : String = "" {
didSet {
selectedTime = defaultTime
timeHoldView.timeTextField.text = selectedTime
}
}
var viewTitle : String = "" { var viewTitle : String = "" {
didSet { didSet {
...@@ -331,13 +338,17 @@ private extension YHRangeDatePickerSheetView2 { ...@@ -331,13 +338,17 @@ private extension YHRangeDatePickerSheetView2 {
datePickView.block = { [weak self] date in datePickView.block = { [weak self] date in
self?.selectedDate = date self?.selectedDate = date
self?.checkSubmitButtonStatus() self?.checkSubmitButtonStatus()
if self?.selectedTime == nil {
YHHUD.flash(message: "选择具体时间")
}
} }
} }
@objc func tapButton(gestureRecognizer:UITapGestureRecognizer) { @objc func tapButton(gestureRecognizer:UITapGestureRecognizer) {
YHDatePickView.show(type: .timeForAppointHK, title: "选择具体时间", lastIsTaday: false, currentDay: "") { date in YHDatePickView.show(type: .timeForAppointHK, title: "选择具体时间", lastIsTaday: false, currentDay: defaultTime) { date in
self.selectedTime = date self.selectedTime = date
self.defaultTime = date
self.timeHoldView.timeTextField.text = date self.timeHoldView.timeTextField.text = date
self.checkSubmitButtonStatus() self.checkSubmitButtonStatus()
} dismiss: { } dismiss: {
......
...@@ -75,9 +75,11 @@ class YHRangeDatePickerView2: UIView,FSCalendarDataSource, FSCalendarDelegate, F ...@@ -75,9 +75,11 @@ class YHRangeDatePickerView2: UIView,FSCalendarDataSource, FSCalendarDelegate, F
//日历内容 选择时 颜色 //日历内容 选择时 颜色
calendar.appearance.titleSelectionColor = .white calendar.appearance.titleSelectionColor = .white
calendar.appearance.subtitleSelectionColor = .white calendar.appearance.subtitleSelectionColor = .white
// calendar.appearance.todayColor = UIColor(red: 0, green: 0.275, blue: 0.706, alpha: 1) calendar.appearance.subtitleDefaultColor = .mainTextColor50
// calendar.appearance.todaySelectionColor = .white
// calendar.appearance.todayColor = .brandMainColor
// calendar.appearance.todaySelectionColor = .white
// calendar.appearance.titleTodayColor = .brandMainColor
// calendar.appearance.titleTodayColor = UIColor(red: 0, green: 0.275, blue: 0.706, alpha: 1) // calendar.appearance.titleTodayColor = UIColor(red: 0, green: 0.275, blue: 0.706, alpha: 1)
...@@ -242,12 +244,11 @@ private extension YHRangeDatePickerView2 { ...@@ -242,12 +244,11 @@ private extension YHRangeDatePickerView2 {
// } // }
else { else {
calendar.deselect(startDate!) calendar.deselect(startDate!)
// calendar.deselect(endDate!) // calendar.deselect(endDate!)
startDate = date startDate = date
// endDate = nil // endDate = nil
// YHHUD.flash(message: "选择结束日期") // YHHUD.flash(message: "选择结束日期")
} }
YHHUD.flash(message: "选择具体时间")
self.block?(startDate) self.block?(startDate)
......
...@@ -47,10 +47,19 @@ class YHDatePickView: UIView { ...@@ -47,10 +47,19 @@ class YHDatePickView: UIView {
case .yyyy: case .yyyy:
pickerView.selectRow(99 - index, inComponent: 0, animated: true) pickerView.selectRow(99 - index, inComponent: 0, animated: true)
case .timeForAppointHK: case .timeForAppointHK:
pickerView.selectRow(Int(arrTimeForAppointHK.count / 2), inComponent: 0, animated: true) // pickerView.selectRow(Int(arrTimeForAppointHK.count / 2), inComponent: 0, animated: true)
handleDefaultTime()
} }
} }
} }
var defaultTime : String = "" {
didSet {
handleDefaultTime()
}
}
private var currentDateCom: DateComponents = Calendar.current.dateComponents([.year, .month, .day], from: Date()) private var currentDateCom: DateComponents = Calendar.current.dateComponents([.year, .month, .day], from: Date())
var dateCom: DateComponents = Calendar.current.dateComponents([.year, .month, .day], from: Date()) var dateCom: DateComponents = Calendar.current.dateComponents([.year, .month, .day], from: Date())
// 日期分割符 eg: 2024-01-01 // 日期分割符 eg: 2024-01-01
...@@ -217,9 +226,15 @@ class YHDatePickView: UIView { ...@@ -217,9 +226,15 @@ class YHDatePickView: UIView {
case .timeForAppointHK: case .timeForAppointHK:
dateFormatter.dateFormat = "yyyy" dateFormatter.dateFormat = "yyyy"
} }
if type == .timeForAppointHK {
view.defaultTime = currentDay
} else {
if currentDay != "", let date = dateFormatter.date(from: currentDay) { if currentDay != "", let date = dateFormatter.date(from: currentDay) {
view.dateCom = Calendar.current.dateComponents([.year, .month, .day], from: date) view.dateCom = Calendar.current.dateComponents([.year, .month, .day], from: date)
} }
}
view.lastIsTaday = lastIsTaday view.lastIsTaday = lastIsTaday
let window = UIApplication.shared.yhKeyWindow() let window = UIApplication.shared.yhKeyWindow()
window?.addSubview(view) window?.addSubview(view)
...@@ -251,6 +266,30 @@ class YHDatePickView: UIView { ...@@ -251,6 +266,30 @@ class YHDatePickView: UIView {
} }
dismiss() dismiss()
} }
func handleDefaultTime() {
if type == .timeForAppointHK {
var targetIndex : Int = -1
if !defaultTime.isEmpty {
for (index,item) in arrTimeForAppointHK.enumerated() {
if item == defaultTime {
targetIndex = index
break
}
}
if targetIndex > -1 {
// DispatchQueue.main.asyncAfter(deadline: .now() + 0.25) {
// self.pickerView.selectRow(targetIndex, inComponent: 0, animated: true)
// }
DispatchQueue.main.async {
self.pickerView.selectRow(targetIndex, inComponent: 0, animated: true)
}
}
}
}
}
} }
extension YHDatePickView: UIGestureRecognizerDelegate { extension YHDatePickView: UIGestureRecognizerDelegate {
......
...@@ -422,8 +422,9 @@ extension YHMyViewController : UITableViewDelegate, UITableViewDataSource { ...@@ -422,8 +422,9 @@ extension YHMyViewController : UITableViewDelegate, UITableViewDataSource {
} }
// let view = YHRangeDatePickerSheetView2.sheetView() // let view = YHRangeDatePickerSheetView2.sheetView()
// view.minDateStr = "2024-11-01" // view.minDateStr = "2024-10-01"
// view.maxDateStr = "2024-11-19" // view.maxDateStr = "2024-11-19"
//// view.defaultTime = "12:00"
// view.viewTitle = "Demo" // view.viewTitle = "Demo"
// view.block = { // view.block = {
// [weak self] (startDate,time) in // [weak self] (startDate,time) in
......
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