f2cf74c7
yangbin
1.0.20(4)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
//
// OtherSettingVC.swift
// Twear
//
// Created by yangbin on 2021/12/22.
//
import UIKit
import SnapKit
import MBProgressHUD
class OtherSettingVC: UIViewController {
@IBOutlet weak var tableView: UITableView!
|
66c02729
daifengyi
feat:other settin...
|
15
|
// @IBOutlet weak var autoSwitch: UISwitch!
|
f2cf74c7
yangbin
1.0.20(4)
|
16
|
|
66c02729
daifengyi
feat:other settin...
|
17
18
19
|
// @IBOutlet weak var autoView: UIView!
// @IBOutlet weak var autoTitleLabel: UILabel!
// @IBOutlet weak var autoDetailLabel: UILabel!
|
f2cf74c7
yangbin
1.0.20(4)
|
20
21
22
23
24
25
26
|
var unitSettingClosure: ((_ distanceUnit: DistanceUnit) -> ())?
let settingDic: [String: [String]] = ["时间单位设置": ["24小时", "12小时"], "公英制单位设置": ["公制", "英制"], "温度单位": ["摄氏度(℃)", "华氏度(℉)"]]
let settingArray: [String] = {
switch CurDevice.platform {
|
f2cf74c7
yangbin
1.0.20(4)
|
27
28
29
30
31
32
33
34
35
36
37
38
|
case ._828:
return ["时间单位设置", "公英制单位设置", "温度单位"]
default:
return ["时间单位设置", "公英制单位设置", "温度单位"]
}
}()
var device = CurDevice
override func viewDidLoad() {
super.viewDidLoad()
title = LocString("其他设置")
|
66c02729
daifengyi
feat:other settin...
|
39
|
// autoSwitch.isOn = UserInfo.autoMasure
|
f2cf74c7
yangbin
1.0.20(4)
|
40
41
42
|
tableView.register(UINib.init(nibName: "SettingCell2", bundle: Bundle.main), forCellReuseIdentifier: "SettingCell2")
tableView.tableFooterView = UIView(frame: CGRect.zero)
|
66c02729
daifengyi
feat:other settin...
|
43
44
|
// autoTitleLabel.text = LocString("整点自动测量")
// autoDetailLabel.text = LocString("开启此功能,手表每小时将自动测量健康数据")
|
f2cf74c7
yangbin
1.0.20(4)
|
45
46
47
|
if device.name.contains("P8GT") || device.name.contains("S7 NO.1") {
|
66c02729
daifengyi
feat:other settin...
|
48
49
50
|
// autoTitleLabel.text = ""
// autoDetailLabel.text = ""
// autoView.isHidden = true
|
f2cf74c7
yangbin
1.0.20(4)
|
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
|
}
}
@IBAction func syncTime(_ sender: Any) {
let user = UserInfo
MBProgressHUD.showh(LocString("正在同步中..."))
BluetoothManager.shared.setTime(format: TimeFormat(rawValue: UInt8(user.timeFormat))!) { error in
if error == nil {
MBProgressHUD.showh(LocString("同步完成"))
} else {
MBProgressHUD.showh(LocString("同步失败"))
}
}
}
@IBAction func switchAutoMasure(_ sender: UISwitch) {
let user = UserInfo
user.autoMasure = sender.isOn
BluetoothManager.shared.setAutoMeasure(user.autoMasure) { error in
if error == nil {
AdminHelper.shared.updateUser(user)
}
}
}
}
extension OtherSettingVC: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
|
66c02729
daifengyi
feat:other settin...
|
81
|
return 44
|
f2cf74c7
yangbin
1.0.20(4)
|
82
83
84
85
86
|
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView()
|
66c02729
daifengyi
feat:other settin...
|
87
|
view.backgroundColor = UIColor.rgbColorFromHex(0xFAFAFA)
|
f2cf74c7
yangbin
1.0.20(4)
|
88
|
let label = UILabel()
|
66c02729
daifengyi
feat:other settin...
|
89
90
|
label.font = UIFont.systemFont(ofSize: 13, weight: .medium)
label.textColor = UIColor.rgbColorFromHex(0x999999)
|
f2cf74c7
yangbin
1.0.20(4)
|
91
92
93
94
|
label.text = LocString(settingArray[section])
view.addSubview(label)
label.snp.makeConstraints { make in
make.left.equalToSuperview().offset(12)
|
66c02729
daifengyi
feat:other settin...
|
95
|
make.top.equalToSuperview().offset(10)
|
f2cf74c7
yangbin
1.0.20(4)
|
96
97
98
99
100
101
102
103
104
|
}
return view
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.5
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
|
66c02729
daifengyi
feat:other settin...
|
105
|
return 55
|
f2cf74c7
yangbin
1.0.20(4)
|
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
}
func numberOfSections(in tableView: UITableView) -> Int {
return settingArray.count
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return settingDic[settingArray[section]]!.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "SettingCell2", for: indexPath) as! SettingCell2
let text = settingDic[settingArray[indexPath.section]]![indexPath.row]
cell.label.text = LocString(text)
let user = UserInfo
switch settingArray[indexPath.section] {
case "时间单位设置":
if user.timeFormat == 0 && text == "24小时" {
|
66c02729
daifengyi
feat:other settin...
|
125
|
cell.setCorners(corners: [.topLeft, .topRight], radio: 10)
|
f2cf74c7
yangbin
1.0.20(4)
|
126
127
|
cell.selectImageView.image = UIImage(named: "setting_selected")
} else if user.timeFormat == 1 && text == "12小时" {
|
66c02729
daifengyi
feat:other settin...
|
128
|
cell.setCorners(corners: [.bottomLeft, .bottomRight], radio: 10)
|
f2cf74c7
yangbin
1.0.20(4)
|
129
130
131
132
|
cell.selectImageView.image = UIImage(named: "setting_selected")
}
case "公英制单位设置":
if text == "公制" {
|
66c02729
daifengyi
feat:other settin...
|
133
|
cell.setCorners(corners: [.topLeft, .topRight], radio: 10)
|
f2cf74c7
yangbin
1.0.20(4)
|
134
135
136
137
138
139
140
141
142
143
|
if user.distanceUnit == 0 {
cell.selectImageView.image = UIImage(named: "setting_selected")
}
let str1 = LocString("公制")
let str2 = LocString("(米/公里/千克)")
let str = NSMutableAttributedString(string: "\(str1)\(str2)")
str.addAttributes([.font: RegularFont(15)], range: NSMakeRange(0, str1.count))
str.addAttributes([.font: RegularFont(11)], range: NSMakeRange(str1.count, str2.count))
cell.label.attributedText = str
} else if text == "英制" {
|
66c02729
daifengyi
feat:other settin...
|
144
|
cell.setCorners(corners: [.bottomLeft, .bottomRight], radio: 10)
|
f2cf74c7
yangbin
1.0.20(4)
|
145
146
147
148
149
150
151
152
153
154
155
156
157
|
if user.distanceUnit == 1 {
cell.selectImageView.image = UIImage(named: "setting_selected")
}
let str1 = LocString("英制")
let str2 = LocString("(英寸/英里/英镑)")
let str = NSMutableAttributedString(string: "\(str1)\(str2)")
str.addAttributes([.font: RegularFont(15)], range: NSMakeRange(0, str1.count))
str.addAttributes([.font: RegularFont(11)], range: NSMakeRange(str1.count, str2.count))
cell.label.attributedText = str
}
case "温度单位":
if user.temperatureUnit == 0 && text == "摄氏度(℃)" {
|
66c02729
daifengyi
feat:other settin...
|
158
|
cell.setCorners(corners: [.topLeft, .topRight], radio: 10)
|
f2cf74c7
yangbin
1.0.20(4)
|
159
160
|
cell.selectImageView.image = UIImage(named: "setting_selected")
} else if user.temperatureUnit == 1 && text == "华氏度(℉)" {
|
66c02729
daifengyi
feat:other settin...
|
161
|
cell.setCorners(corners: [.bottomLeft, .bottomRight], radio: 10)
|
f2cf74c7
yangbin
1.0.20(4)
|
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
|
cell.selectImageView.image = UIImage(named: "setting_selected")
}
default:
break
}
return cell
}
func updateUI(_ indexPath: IndexPath, user: UserInfoModel) {
MBProgressHUD.hide()
AdminHelper.shared.updateUser(user)
let cell = tableView.cellForRow(at: indexPath) as! SettingCell2
let cell1 = tableView.cellForRow(at: IndexPath(row: 1-indexPath.row, section: indexPath.section)) as! SettingCell2
cell.selectImageView.image = UIImage(named: "setting_selected")
cell1.selectImageView.image = UIImage(named: "setting_not_selected")
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath) as! SettingCell2
cell.isSelected = false
_ = MBProgressHUD.showMessage("")
let user = UserInfo
switch settingDic[settingArray[indexPath.section]]![indexPath.row] {
case "24小时":
|
6102d0b3
daifengyi
feat:time format
|
187
|
BluetoothManager.shared.newSetTimeFormat(format: .hour_24) {[weak self] error in
|
f2cf74c7
yangbin
1.0.20(4)
|
188
189
190
191
192
193
|
if error == nil {
user.timeFormat = 0
self?.updateUI(indexPath, user: user)
}
}
case "12小时":
|
2b8a1881
daifengyi
fix:time format e...
|
194
|
BluetoothManager.shared.newSetTimeFormat(format: .hour_12) {[weak self] error in
|
f2cf74c7
yangbin
1.0.20(4)
|
195
196
197
198
199
200
|
if error == nil {
user.timeFormat = 1
self?.updateUI(indexPath, user: user)
}
}
case "公制":
|
346a2a14
daifengyi
feat:replace setUnit
|
201
|
BluetoothManager.shared.newSetDistanceUnit(unit: .meter) {[weak self] error in
|
f2cf74c7
yangbin
1.0.20(4)
|
202
203
204
205
206
207
208
|
if error == nil {
user.distanceUnit = 0
self?.updateUI(indexPath, user: user)
self?.unitSettingClosure?(.meter)
}
}
case "英制":
|
346a2a14
daifengyi
feat:replace setUnit
|
209
|
BluetoothManager.shared.newSetDistanceUnit(unit: .foot) {[weak self] error in
|
f2cf74c7
yangbin
1.0.20(4)
|
210
211
212
213
214
215
216
|
if error == nil {
user.distanceUnit = 1
self?.updateUI(indexPath, user: user)
self?.unitSettingClosure?(.foot)
}
}
case "摄氏度(℃)":
|
346a2a14
daifengyi
feat:replace setUnit
|
217
|
BluetoothManager.shared .newSetTemperatureUnit(unit: .celsius) {[weak self] error in
|
f2cf74c7
yangbin
1.0.20(4)
|
218
219
220
221
222
223
|
if error == nil {
user.temperatureUnit = 0
self?.updateUI(indexPath, user: user)
}
}
case "华氏度(℉)":
|
346a2a14
daifengyi
feat:replace setUnit
|
224
|
BluetoothManager.shared .newSetTemperatureUnit(unit: .fahrenheit) {[weak self] error in
|
f2cf74c7
yangbin
1.0.20(4)
|
225
226
227
228
229
230
231
232
233
234
|
if error == nil {
user.temperatureUnit = 1
self?.updateUI(indexPath, user: user)
}
}
default:
break
}
}
}
|