无故事王国
2023-10-25 158f3707711ad4be78a55dc73a98aa1c9acda0dd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
//
//  DatePickerView.swift
//  BrokerDriver
//
//  Created by 无故事王国 on 2023/4/27.
//
 
import UIKit
 
class DatePickerView: UIView,JQNibView{
 
    @IBOutlet weak var view_container: UIView!
    @IBOutlet weak var view_containerHeiCons: NSLayoutConstraint!
    @IBOutlet weak var datePickerView: UIDatePicker!
    @IBOutlet weak var btn_cancel: UIButton!
 
    private var clouse:((Date)->Void)!
    override func awakeFromNib() {
        super.awakeFromNib()
        view_containerHeiCons.constant = 0
        alpha = 0
        layoutIfNeeded()
        datePickerView.datePickerMode = .date
        datePickerView.maximumDate = Date()
    }
 
 
    static func show(_ clouse:@escaping (Date)->Void){
        let pickerView = DatePickerView.jq_loadNibView()
        pickerView.clouse = clouse
        screnDelegate?.window?.addSubview(pickerView)
        pickerView.frame = screnDelegate?.window?.frame ?? .zero
        pickerView.view_containerHeiCons.constant = JQ_ScreenW * 0.5 + UIDevice.jq_safeEdges.bottom
        UIView.animate(withDuration: 0.5) {
            pickerView.layoutIfNeeded()
            pickerView.alpha = 1
        } completion: { _ in
 
        }
    }
 
    @IBAction func confirmAction(_ sender: UIButton) {
        cancelAction(btn_cancel)
        clouse(datePickerView.date)
    }
 
    @IBAction func cancelAction(_ sender: UIButton) {
        view_containerHeiCons.constant = 0
        UIView.animate(withDuration: 0.5) {
            self.layoutIfNeeded()
            self.alpha = 0
        } completion: { _ in
            self.removeFromSuperview()
        }
    }
 
 
    override func layoutIfNeeded() {
        super.layoutIfNeeded()
        view_container.jq_addCorners(corner: [.topLeft,.topRight], radius: 12)
    }
}