Blame view

Twear/Setting(设置)/NotDisturbViewController.swift 3.79 KB
75d24c15   yangbin   123
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
105
  //
  //  NotDisturbViewController.swift
  //  Twear
  //
  //  Created by yangbin on 2021/12/24.
  //
  
  import UIKit
  import MBProgressHUD
  import HandyJSON
  
  class NotDisturbViewController: UIViewController {
  
      @IBOutlet weak var disturbSwitch: UISwitch!
      @IBOutlet weak var startTimeLabel: UILabel!
      @IBOutlet weak var endTimeLabel: UILabel!
      
      private let device = CurDevice
      lazy private var dis: RemindModel = CurDevice.disturb
      override func viewDidDisappear(_ animated: Bool) {
          super.viewDidDisappear(animated)
          MBProgressHUD.hide()
      }
      
      override func viewWillAppear(_ animated: Bool) {
          super.viewWillAppear(animated)
          let navController = navigationController as? ZCNavigationController
          navController?.enableScreenEdgePanGestureRecognizer(false)
      }
      override func viewWillDisappear(_ animated: Bool) {
          super.viewWillDisappear(animated)
          let navController = navigationController as? ZCNavigationController
          navController?.enableScreenEdgePanGestureRecognizer(true)
      }
      
      override func navigationShouldPop() -> Bool {
          if dis.isEqual(device.disturb) {
              return true
          } else {
              self.showAlert(title: "温馨提示", message: "您的设置尚未保存,是否退出") { action in
                  self.navigationController?.popViewController(animated: true)
              }
              return false
              
          }
      }
      
      
      override func viewDidLoad() {
          super.viewDidLoad()
          title = LocString("勿扰模式")
  //        dis = device.disturb
          disturbSwitch.isOn = device.disturb.isOn
          
          startTimeLabel.text = "\(String(format:"%02d",device.disturb.startDate.hour)):\(String(format:"%02d",device.disturb.startDate.minute))"
          endTimeLabel.text = "\(String(format:"%02d",device.disturb.endDate.hour)):\(String(format:"%02d",device.disturb.endDate.minute))"
          
          let saveButton = UIButton(frame: CGRect(x: 0, y: 0, width: 40, height: 28))
          saveButton.setTitle(LocString("保存"), for: .normal)
          saveButton.titleLabel?.font = RegularFont(14)
          saveButton.setTitleColor(UIColor.rgbColorFromHex(0x00993E), for: .normal)
          saveButton.addTarget(self, action: #selector(save), for: .touchUpInside)
          navigationItem.rightBarButtonItem =  UIBarButtonItem(customView: saveButton)
      }
      
      @objc func save() {
          _ = MBProgressHUD.showMessage("")
          BluetoothManager.shared.setNotDisturb(remind: device.disturb) {[weak self] error in
              AdminHelper.shared.updateDevice((self?.device)!)
              self?.navigationController?.popViewController(animated: true)
              MBProgressHUD.hide()
          }
      }
      
      @IBAction func swtichValueChanged(_ sender: UISwitch) {
          device.disturb.isOn = sender.isOn
          print(dis.isOn)
      }
      
      @IBAction func clickStartTime(_ sender: UIButton) {
          let pickerView = DatePickerView(title: LocString("开始时间"))
          pickerView.datePicker.date = device.disturb.startDate
          pickerView.show()
          pickerView.clickClosure = {[weak self] date in
              self?.startTimeLabel.text = "\(String(format:"%02d",date.hour)):\(String(format:"%02d",date.minute))"
              self?.device.disturb.startDate = date
          }
      }
      @IBAction func clickEndTime(_ sender: UIButton) {
          let pickerView = DatePickerView(title: LocString("结束时间"))
          pickerView.datePicker.date = device.disturb.endDate
          pickerView.show()
          pickerView.clickClosure = {[weak self] date in
              self?.endTimeLabel.text = "\(String(format:"%02d",date.hour)):\(String(format:"%02d",date.minute))"
              self?.device.disturb.endDate = date
          }
      }
  
      deinit {
          print("deinit\(NSStringFromClass(type(of: self)))!!!!!!!")
      }
  
  
  
  }