Blame view

HDFwear/LaunchSetting/LaunchMyInfoSettingVC.swift 3.74 KB
75a3cd13   daifengyi   feat:launch setting
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
  //
  //  LaunchMyInfoSettingVC.swift
  //  HDFwear
  //
  //  Created by daifengyi on 2023/5/17.
  //
  
  import UIKit
  
  class LaunchMyInfoSettingVC: UIViewController {
      @IBOutlet weak var maleButton: UIButton!
      @IBOutlet weak var femaleButton: UIButton!
      @IBOutlet weak var nicknameField: UITextField!
      @IBOutlet weak var yearLabel: UILabel!
      @IBOutlet weak var dayLabel: UILabel!
      @IBOutlet weak var monthLabel: UILabel!
      
      let user = UserInfo
      
      override func viewDidLoad() {
          super.viewDidLoad()
          updateButtonUI(button: maleButton, selected: false)
          updateButtonUI(button: femaleButton, selected: false)
          let backBtn = BackButton(target: self, action: #selector(backBtnClicked))
          self.navigationItem.leftBarButtonItem = UIBarButtonItem.init(customView: backBtn)
      }
      
      @objc private func  backBtnClicked() {
          KeyWindow.rootViewController = ZCTabBarController()
          KeyWindow.makeKeyAndVisible()
      }
      
      func updateUI() {
          nicknameField.text = user.name
          if user.gender == 1 {
              updateButtonUI(button: maleButton, selected: true)
              updateButtonUI(button: femaleButton, selected: false)
          }else {
              updateButtonUI(button: maleButton, selected: false)
              updateButtonUI(button: femaleButton, selected: true)
          }
          yearLabel.text = user.birth.toString(.custom("yyyy"))
          monthLabel.text = user.birth.toString(.custom("MM"))
          dayLabel.text = user.birth.toString(.custom("dd"))
      }
      
      @IBAction func sexButtonClicked(_ sender: UIButton) {
          if sender.isSelected {
              return
          }
          if sender == maleButton {
              user.gender = 1
          }else {
              user.gender = 0
          }
          updateUI()
      }
      
      func updateButtonUI(button: UIButton, selected: Bool) {
          button.isSelected = selected
          button.backgroundColor = selected ? UIColor.rgbaColorFromHex(0x24C789, alpha:0.1) : UIColor.white
          button.borderColor(selected ? UIColor.rgbColorFromHex(0x24C789) : UIColor.rgbColorFromHex(0xE0E0E0))
      }
      
      @IBAction func nextButtonClicked(_ sender: UIButton) {
          let vc = UIStoryboard.loadViewControllerIdentifier(storyboardName: "Setting", identifier: "StepGoalViewController") as! StepGoalViewController
          vc.buttonTitle = "下一步"
          user.name = nicknameField.text ?? ""
          vc.stepGoalClosure = {[weak self] steps in
              self?.updateUserInfo()
              let vc = UIStoryboard.loadViewControllerIdentifier(storyboardName: "LaunchSetting", identifier: "LaunchMyBodySettingVC") as! LaunchMyBodySettingVC
              self?.navigationController?.pushViewController(vc, animated: true)
          }
          navigationController?.pushViewController(vc, animated: true)
      }
      
      @IBAction func selectBirthday(_ sender: Any) {
          let pickerView = DatePickerView(title: LocString("选择您的生日"), titleColor: UIColor.rgbColorFromHex(0xEF3257))
          pickerView.datePicker.datePickerMode = .date
          pickerView.datePicker.date = Date()
          pickerView.datePicker.maximumDate = Date()
          pickerView.show()
          pickerView.clickClosure = {[weak self] date in
              self?.user.birth = date
              self? .updateUI()
          }
      }
      
      private func updateUserInfo() {
          AdminHelper.shared.updateUser(user)
          BluetoothManager.shared.setUserInfo(user)
      }
      
      /*
      // MARK: - Navigation
  
      // In a storyboard-based application, you will often want to do a little preparation before navigation
      override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
          // Get the new view controller using segue.destination.
          // Pass the selected object to the new view controller.
      }
      */
  
  }