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
|
//
// HealthRemindVC.swift
// Twear
//
// Created by yangbin on 2021/12/25.
//
import UIKit
import MBProgressHUD
import SwiftDate
class HealthRemindVC: UIViewController {
@IBOutlet weak var sedentaryIntervalLabel: UILabel!
@IBOutlet weak var sedentaryStartLabel: UILabel!
@IBOutlet weak var sedentaryEndLabel: UILabel!
@IBOutlet weak var sedentarySwitch: UISwitch!
@IBOutlet weak var drinkIntervalLabel: UILabel!
@IBOutlet weak var drinkStartLabel: UILabel!
@IBOutlet weak var drinkEndLabel: UILabel!
@IBOutlet weak var drinkSwitch: UISwitch!
let device = CurDevice
lazy private var lastDrink: RemindModel = CurDevice.drink
lazy private var lastSed: RemindModel = CurDevice.sedentary
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
MBProgressHUD.hide()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
|
582f536d
yangbin
common:2022.1.28
|
35
36
|
// let navController = navigationController as? ZCNavigationController
// navController?.enableScreenEdgePanGestureRecognizer(false)
|
75d24c15
yangbin
123
|
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
|
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
let navController = navigationController as? ZCNavigationController
navController?.enableScreenEdgePanGestureRecognizer(true)
}
override func navigationShouldPop() -> Bool {
if lastSed.isEqual(device.sedentary) && lastDrink.isEqual(device.drink) {
return true
} else {
self.showAlert(title: LocString("温馨提示"), message: LocString("您的设置尚未保存,是否退出")) { action in
self.navigationController?.popViewController(animated: true)
}
return false
}
}
override func viewDidLoad() {
super.viewDidLoad()
title = LocString("健康提醒")
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)
sedentaryIntervalLabel.text = "\(device.sedentary.interval)\(LocString("分钟min"))"
sedentaryStartLabel.text = device.sedentary.startDate.toString(.custom("HH:mm"))
sedentaryEndLabel.text = device.sedentary.endDate.toString(.custom("HH:mm"))
sedentarySwitch.isOn = device.sedentary.isOn
drinkIntervalLabel.text = "\(device.drink.interval)\(LocString("分钟min"))"
drinkStartLabel.text = device.drink.startDate.toString(.custom("HH:mm"))
drinkEndLabel.text = device.drink.endDate.toString(.custom("HH:mm"))
drinkSwitch.isOn = device.drink.isOn
}
@IBAction func valueChanged(_ sender: UISwitch) {
if sender.tag == 0 {
device.sedentary.isOn = sender.isOn
} else {
device.drink.isOn = sender.isOn
}
|
582f536d
yangbin
common:2022.1.28
|
83
|
screenEdgePanEnable()
|
75d24c15
yangbin
123
|
84
85
|
}
|
582f536d
yangbin
common:2022.1.28
|
86
87
88
89
90
91
92
93
94
95
96
|
func screenEdgePanEnable() {
let navController = navigationController as? ZCNavigationController
if lastSed.isEqual(device.sedentary) && lastDrink.isEqual(device.drink) {
navController?.enableScreenEdgePanGestureRecognizer(true)
} else {
navController?.enableScreenEdgePanGestureRecognizer(false)
}
}
|
75d24c15
yangbin
123
|
97
98
99
100
|
@IBAction func setRemindInterval(_ sender: UIButton) {
let values: [Int] = [30, 45, 60, 90, 120]
if sender.tag == 0 {
let pickerView = ZCPickerView(title: LocString("间隔时间"), values: values)
|
582f536d
yangbin
common:2022.1.28
|
101
|
pickerView.selectedRow = values.firstIndex(of: device.sedentary.interval) ?? 1
|
75d24c15
yangbin
123
|
102
103
104
105
|
pickerView.show()
pickerView.clickClosure = {[weak self] value in
self?.sedentaryIntervalLabel.text = "\(value)\(LocString("分钟min"))"
self?.device.sedentary.interval = value
|
582f536d
yangbin
common:2022.1.28
|
106
|
self?.screenEdgePanEnable()
|
75d24c15
yangbin
123
|
107
108
109
|
}
} else {
let pickerView = ZCPickerView(title: LocString("间隔时间"), values: values)
|
582f536d
yangbin
common:2022.1.28
|
110
|
pickerView.selectedRow = values.firstIndex(of: device.drink.interval) ?? 1
|
75d24c15
yangbin
123
|
111
112
113
114
|
pickerView.show()
pickerView.clickClosure = {[weak self] value in
self?.drinkIntervalLabel.text = "\(value)\(LocString("分钟min"))"
self?.device.drink.interval = value
|
582f536d
yangbin
common:2022.1.28
|
115
|
self?.screenEdgePanEnable()
|
75d24c15
yangbin
123
|
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
}
}
}
@IBAction func setStartTime(_ sender: UIButton) {
if sender.tag == 0 {
let values = (0..<24).map { (i) -> Int in
return i
}
let pickerView = ZCPickerView(title: LocString("开始时间"), values: values, suffix: ":00")
pickerView.selectedRow = values.firstIndex(of: device.sedentary.startDate.hour) ?? 9
pickerView.show()
pickerView.clickClosure = {[weak self] value in
let date = DateInRegion(year: 2000, month: 1, day: 1, hour: value, minute: 0).date
self?.sedentaryStartLabel.text = date.toString(.custom("HH:mm"))
self?.device.sedentary.startDate = date
|
582f536d
yangbin
common:2022.1.28
|
132
|
self?.screenEdgePanEnable()
|
75d24c15
yangbin
123
|
133
134
135
136
137
138
139
140
|
}
} else {
let pickerView = DatePickerView(title: LocString("开始时间"))
pickerView.datePicker.date = device.drink.startDate
pickerView.show()
pickerView.clickClosure = {[weak self] date in
self?.drinkStartLabel.text = date.toString(.custom("HH:mm"))
self?.device.drink.startDate = date
|
582f536d
yangbin
common:2022.1.28
|
141
|
self?.screenEdgePanEnable()
|
75d24c15
yangbin
123
|
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
}
}
}
@IBAction func setEndTime(_ sender: UIButton) {
if sender.tag == 0 {
let values = (0..<24).map { (i) -> Int in
return i
}
let pickerView = ZCPickerView(title: LocString("结束时间"), values: values, suffix: ":00")
pickerView.selectedRow = values.firstIndex(of: device.sedentary.endDate.hour) ?? 9
pickerView.show()
pickerView.clickClosure = {[weak self] value in
let date = DateInRegion(year: 2000, month: 1, day: 1, hour: value, minute: 0).date
self?.sedentaryEndLabel.text = date.toString(.custom("HH:mm"))
self?.device.sedentary.endDate = date
|
582f536d
yangbin
common:2022.1.28
|
158
|
self?.screenEdgePanEnable()
|
75d24c15
yangbin
123
|
159
160
161
162
163
164
165
166
|
}
} else {
let pickerView = DatePickerView(title: LocString("结束时间"))
pickerView.datePicker.date = device.drink.endDate
pickerView.show()
pickerView.clickClosure = {[weak self] date in
self?.drinkEndLabel.text = date.toString(.custom("HH:mm"))
self?.device.drink.endDate = date
|
582f536d
yangbin
common:2022.1.28
|
167
|
self?.screenEdgePanEnable()
|
75d24c15
yangbin
123
|
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
|
}
}
}
@objc private func save() {
_ = MBProgressHUD.showMessage("")
setSedentary()
}
private func setSedentary() {
BluetoothManager.shared.setSedentaryRemind(device.sedentary) {[weak self] error in
AdminHelper.shared.updateDevice((self?.device)!)
self?.setDrinkWater()
}
}
private func setDrinkWater() {
BluetoothManager.shared.setDrinkWaterRemind(device.drink) {[weak self] error in
AdminHelper.shared.updateDevice((self?.device)!)
MBProgressHUD.hide()
self?.navigationController?.popViewController(animated: true)
}
}
deinit {
print("deinit\(NSStringFromClass(type(of: self)))!!!!!!!")
}
}
|