|
|
|
//
|
|
|
|
// HelathItemCell.swift
|
|
|
|
// Lookfit
|
|
|
|
//
|
|
|
|
// Created by Sheldon on 2021/9/21.
|
|
|
|
// Copyright © 2021 Sheldon. All rights reserved.
|
|
|
|
//
|
|
|
|
|
|
|
|
import UIKit
|
|
|
|
|
|
|
|
class HelathItemCell: CollectionViewCell {
|
|
|
|
|
|
|
|
lazy var leftTitleLabel: UILabel = {
|
|
|
|
let label = UILabel()
|
|
|
|
label.textColor = kHexColor(0x2A2A2A)
|
|
|
|
label.font = SystemMediumFont(18)
|
|
|
|
return label
|
|
|
|
}()
|
|
|
|
lazy var blockView: HealthBlockView = {
|
|
|
|
let view = HealthBlockView()
|
|
|
|
return view
|
|
|
|
}()
|
|
|
|
|
|
|
|
override func setUpUI() {
|
|
|
|
containerView.addSubview(leftTitleLabel)
|
|
|
|
containerView.addSubview(blockView)
|
|
|
|
// containerView.backgroundColor = kRandomColor()
|
|
|
|
}
|
|
|
|
|
|
|
|
override func layoutUI() {
|
|
|
|
leftTitleLabel.snp.makeConstraints { (make) in
|
|
|
|
make.top.equalTo(kScaleWidth(20))
|
|
|
|
make.left.equalTo(blockView.snp.left).offset(12)
|
|
|
|
}
|
|
|
|
blockView.snp.makeConstraints { (make) in
|
|
|
|
make.top.equalTo(leftTitleLabel.snp.bottom).offset(5)
|
|
|
|
make.bottom.equalToSuperview()
|
|
|
|
make.left.equalToSuperview()
|
|
|
|
make.width.equalToSuperview()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
override func bind(model: ViewModel) {
|
|
|
|
super.bind(model: model)
|
|
|
|
guard let viewModel = model as? HealthCellViewModels else { return }
|
|
|
|
leftTitleLabel.text = viewModel.type.titleLocalized
|
|
|
|
blockView.sleepCircleView.isHidden = true
|
|
|
|
switch viewModel.type {
|
|
|
|
case .sleep:
|
|
|
|
blockView.sleepCircleView.isHidden = false
|
|
|
|
blockView.bgImgBtn.setBackgroundImage(R.image.sleep_bg(), for: .normal)
|
|
|
|
blockView.centerLabel.textColor = kHexColor(0x6D9CFF)
|
|
|
|
blockView.unitLabel.textColor = kHexColor(0x6D9CFF)
|
|
|
|
blockView.centerLabel.text = "0"
|
|
|
|
blockView.unitLabel.text = MultiLanguageKey.hourFB.localized
|
|
|
|
viewModel.target
|
|
|
|
.bind(to: blockView.titleLabel.rx.text)
|
|
|
|
.disposed(by: cellDisposeBag)
|
|
|
|
case .heartRate:
|
|
|
|
blockView.bgImgBtn.setBackgroundImage(R.image.heartRate_bg(), for: .normal)
|
|
|
|
blockView.titleLabel.text = MultiLanguageKey.realHeartRateFB.localized
|
|
|
|
blockView.centerLabel.textColor = kHexColor(0xFF6D6D)
|
|
|
|
blockView.unitLabel.textColor = kHexColor(0xFF6D6D)
|
|
|
|
blockView.unitLabel.text = "bpm"
|
|
|
|
blockView.centerLabel.text = "--"
|
|
|
|
case .temperature:
|
|
|
|
blockView.bgImgBtn.setBackgroundImage(R.image.temperature_bg(), for: .normal)
|
|
|
|
blockView.centerLabel.textColor = kHexColor(0x27ABFF)
|
|
|
|
blockView.unitLabel.textColor = kHexColor(0x27ABFF)
|
|
|
|
blockView.unitLabel.text = MultiLanguageKey.centigradeFB.localized
|
|
|
|
blockView.titleLabel.text = MultiLanguageKey.realTimeTemperatureFB.localized
|
|
|
|
case .bloodPressure:
|
|
|
|
blockView.bgImgBtn.setBackgroundImage(R.image.bloodPressure_bg(), for: .normal)
|
|
|
|
blockView.centerLabel.textColor = kHexColor(0x48C0CB)
|
|
|
|
blockView.unitLabel.textColor = kHexColor(0x48C0CB)
|
|
|
|
blockView.unitLabel.text = MultiLanguageKey.bloodPressureUnitFB.localized
|
|
|
|
blockView.titleLabel.text = MultiLanguageKey.realTimeBloodPressureFB.localized
|
|
|
|
case .bloodOxygen:
|
|
|
|
blockView.bgImgBtn.setBackgroundImage(R.image.bloodOxygen_bg(), for: .normal)
|
|
|
|
blockView.centerLabel.textColor = kHexColor(0xF74D4E)
|
|
|
|
blockView.unitLabel.textColor = kHexColor(0xF74D4E)
|
|
|
|
blockView.unitLabel.text = MultiLanguageKey.bloodOxygenUnitFB.localized
|
|
|
|
blockView.titleLabel.text = MultiLanguageKey.realTimeBloodOxygenFB.localized
|
|
|
|
default: break
|
|
|
|
}
|
|
|
|
viewModel.value
|
|
|
|
.bind(to: blockView.centerLabel.rx.text)
|
|
|
|
.disposed(by: cellDisposeBag)
|
|
|
|
viewModel.progress
|
|
|
|
.subscribe(onNext: { [weak self] (progress) in
|
|
|
|
self?.blockView.sleepCircleView.updateProcess(process: Float(progress))
|
|
|
|
})
|
|
|
|
.disposed(by: cellDisposeBag)
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|