Merge branch 'abroad' into mix
authorliangzhenying <867174124@qq.com>
Wed, 28 Jan 2026 06:13:29 +0000 (14:13 +0800)
committerliangzhenying <867174124@qq.com>
Wed, 28 Jan 2026 06:13:29 +0000 (14:13 +0800)
1  2 
ShenYin/ShenYin/Launch/SceneDelegate.swift
ShenYin/ShenYin/UI/common/pop/CustomPicker3.swift

@@@ -17,10 -17,11 +17,9 @@@ class SceneDelegate: UIResponder, UIWin
          guard let _ = (scene as? UIWindowScene) else { return }
          
          App.shared.window = window
- //        window?.rootViewController = BaseTC()
+         AppLaunch.start()
 -//        window?.rootViewController = BaseTC()
  //        MapManager.shared.setupSdk()
-         window?.rootViewController = UINavigationController(rootViewController: SportSetVC())
- //        AppLaunch.start()
 -//        window?.rootViewController = UINavigationController(rootViewController: RSChatVC())
 -        
++//        window?.rootViewController = UINavigationController(rootViewController: SportSetVC())
      }
  
      func sceneDidDisconnect(_ scene: UIScene) {
index 78dea69,0000000..54c40bf
mode 100644,000000..100644
--- /dev/null
@@@ -1,110 -1,0 +1,110 @@@
-             if DCConfig.appLanguage == .chinse || DCConfig.appLanguage == .Traditional_Chinese {
 +import UIKit
 +
 +class CustomPicker3: BasePresentView {
 +    private let titleLabel = UILabel()
 +    private let btn = UIButton(type: .custom)
 +    private let okBtn = CustomButton()
 +    private let datePicker = UIDatePicker()
 +    var selectedDate = Date() {
 +        didSet {
 +            datePicker.date = selectedDate
 +        }
 +    }
 +    var didSelected: ((Date) -> Void)?
 +    private var title: String = ""
 +    
 +    init(title: String, defaultDate: Date = createDate(year: 2000, month: 1, day: 1)) {
 +        self.title = title
 +        self.selectedDate = defaultDate
 +        let h = CGFloat(50 + 250 + kSafeBtm) // UIDatePicker的高度通常为250左右加上底部安全距离
 +        super.init(contentHeight: h)
 +    }
 +    
 +    required init?(coder: NSCoder) {
 +        fatalError("init(coder:) has not been implemented")
 +    }
 +    
 +    override func setupSubView() {
 +        super.setupSubView()
 +        contentView.addSubviews([titleLabel, btn, okBtn, datePicker])
 +    }
 +    
 +    override func setupLayout() {
 +        super.setupLayout()
 +        titleLabel.snp.makeConstraints { (m) in
 +            m.top.equalToSuperview()
 +            m.left.right.equalToSuperview().inset(60)
 +            m.height.equalTo(50)
 +        }
 +        btn.snp.makeConstraints { (m) in
 +            m.centerY.equalTo(titleLabel)
 +            m.right.equalToSuperview()
 +            m.size.equalTo(60)
 +        }
 +        okBtn.snp.makeConstraints { make in
 +            make.bottom.equalToSuperview().inset(32)
 +            make.left.right.equalToSuperview().inset(51)
 +            make.height.equalTo(46)
 +        }
 +        datePicker.snp.makeConstraints { make in
 +            make.left.right.equalToSuperview()
 +            make.top.equalToSuperview().inset(50)
 +            make.bottom.equalTo(okBtn.snp.top).offset(-10)
 +        }
 +    }
 +    
 +    override func setupStyle() {
 +        super.setupStyle()
 +        contentView.backgroundColor = .color(.cellBg)
 +        titleLabel.do { (v) in
 +            v.textColor = .color(.secondary)
 +            v.font = .semiBold(16)
 +            v.textAlignment = .center
 +            v.text = title
 +        }
 +        btn.do { v in
 +            v.setImage(UIImage(named: "close_icon"), for: .normal)
 +            v.addTarget(self, action: #selector(closeAction), for: .touchUpInside)
 +        }
 +        datePicker.do { v in
 +            if #available(iOS 13.4, *) {
 +                v.preferredDatePickerStyle = .wheels
 +            }
 +            v.backgroundColor = .color(.cellBg)
 +            v.datePickerMode = .date
++            if CCConfig.appLanguage == .chinse || CCConfig.appLanguage == .Traditional_Chinese {
 +                v.locale =  Locale(identifier: "zh_CN")
 +            }
 +            
 +            v.addTarget(self, action: #selector(dateChanged(_:)), for: .valueChanged)
 +            v.minimumDate = CustomPicker3.createDate(year: 1900, month: 1, day: 1)
 +            v.maximumDate = Date()
 +            v.date = selectedDate
 +        }
 +        okBtn.set(title: "确定", style: .theme1, target: self, action: #selector(okAction))
 +    }
 +    
 +    @objc func dateChanged(_ sender: UIDatePicker) {
 +        selectedDate = sender.date
 +    }
 +    
 +    @objc func closeAction() {
 +        hide()
 +    }
 +    
 +    @objc func okAction() {
 +        didSelected?(selectedDate)
 +        hide()
 +    }
 +    
 +    private static func createDate(year: Int, month: Int, day: Int) -> Date {
 +        var components = DateComponents()
 +        components.year = year
 +        components.month = month
 +        components.day = day
 +        components.hour = 0
 +        components.minute = 0
 +        components.second = 0
 +        return Calendar.current.date(from: components) ?? Date()
 +    }
 +}