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

具体时间选择 添加默认值

parent aa4c9692
......@@ -94,8 +94,8 @@ class YHRangeDatePickerSheetView2: UIView {
}()
lazy var timeHoldView : YHPickTimeHoldView = {
let imageV = YHPickTimeHoldView()
return imageV
let view = YHPickTimeHoldView()
return view
}()
required init?(coder: NSCoder) {
......@@ -140,6 +140,13 @@ class YHRangeDatePickerSheetView2: UIView {
}
}
var defaultTime : String = "" {
didSet {
selectedTime = defaultTime
timeHoldView.timeTextField.text = selectedTime
}
}
var viewTitle : String = "" {
didSet {
......@@ -331,13 +338,17 @@ private extension YHRangeDatePickerSheetView2 {
datePickView.block = { [weak self] date in
self?.selectedDate = date
self?.checkSubmitButtonStatus()
if self?.selectedTime == nil {
YHHUD.flash(message: "选择具体时间")
}
}
}
@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.defaultTime = date
self.timeHoldView.timeTextField.text = date
self.checkSubmitButtonStatus()
} dismiss: {
......
......@@ -75,9 +75,11 @@ class YHRangeDatePickerView2: UIView,FSCalendarDataSource, FSCalendarDelegate, F
//日历内容 选择时 颜色
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.subtitleDefaultColor = .mainTextColor50
// 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)
......@@ -242,12 +244,11 @@ private extension YHRangeDatePickerView2 {
// }
else {
calendar.deselect(startDate!)
// calendar.deselect(endDate!)
// calendar.deselect(endDate!)
startDate = date
// endDate = nil
// YHHUD.flash(message: "选择结束日期")
// endDate = nil
// YHHUD.flash(message: "选择结束日期")
}
YHHUD.flash(message: "选择具体时间")
self.block?(startDate)
......
......@@ -47,10 +47,19 @@ class YHDatePickView: UIView {
case .yyyy:
pickerView.selectRow(99 - index, inComponent: 0, animated: true)
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())
var dateCom: DateComponents = Calendar.current.dateComponents([.year, .month, .day], from: Date())
// 日期分割符 eg: 2024-01-01
......@@ -217,9 +226,15 @@ class YHDatePickView: UIView {
case .timeForAppointHK:
dateFormatter.dateFormat = "yyyy"
}
if currentDay != "", let date = dateFormatter.date(from: currentDay) {
view.dateCom = Calendar.current.dateComponents([.year, .month, .day], from: date)
if type == .timeForAppointHK {
view.defaultTime = currentDay
} else {
if currentDay != "", let date = dateFormatter.date(from: currentDay) {
view.dateCom = Calendar.current.dateComponents([.year, .month, .day], from: date)
}
}
view.lastIsTaday = lastIsTaday
let window = UIApplication.shared.yhKeyWindow()
window?.addSubview(view)
......@@ -251,6 +266,30 @@ class YHDatePickView: UIView {
}
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 {
......
......@@ -422,8 +422,9 @@ extension YHMyViewController : UITableViewDelegate, UITableViewDataSource {
}
// let view = YHRangeDatePickerSheetView2.sheetView()
// view.minDateStr = "2024-11-01"
// view.minDateStr = "2024-10-01"
// view.maxDateStr = "2024-11-19"
//// view.defaultTime = "12:00"
// view.viewTitle = "Demo"
// view.block = {
// [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