You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

100 lines
3.6 KiB

//
// HealthSleeoHeartRateCell.swift
// FireBoltt
//
// Created by lemo. on 2020/4/6.
// Copyright © 2020 Sheldon. All rights reserved.
//
import UIKit
class HealthSleeoHeartRateCell: TableViewCell {
lazy var leftTitleLabel: UILabel = {
let label = UILabel()
label.textColor = kHexColor(0x2A2A2A)
label.font = SystemMediumFont(18)
label.text = MultiLanguageKey_FB.sleepFB.localized
return label
}()
lazy var sleepBlockView: HealthBlockView = {
let view = HealthBlockView()
view.fb_bgImgBtn.setBackgroundImage(R.image.sleep_bg_fb(), for: .normal)
view.fb_centerLabel.textColor = kHexColor(0x6D9CFF)
view.fb_unitLabel.textColor = kHexColor(0x6D9CFF)
view.fb_centerLabel.text = "0"
view.fb_unitLabel.text = MultiLanguageKey_FB.hourFB.localized
return view
}()
lazy var rightTitleLabel: UILabel = {
let label = UILabel()
label.textColor = kHexColor(0x2A2A2A)
label.font = SystemMediumFont(18)
label.text = MultiLanguageKey_FB.heartRateFB.localized
return label
}()
lazy var hearRateBlockView: HealthBlockView = {
let view = HealthBlockView()
view.fb_sleepCircleView.isHidden = true
view.fb_bgImgBtn.setBackgroundImage(R.image.fb_heartRate_bg(), for: .normal)
view.fb_titleLabel.text = MultiLanguageKey_FB.realHeartRateFB.localized
view.fb_centerLabel.textColor = kHexColor(0xFF6D6D)
view.fb_unitLabel.textColor = kHexColor(0xFF6D6D)
view.fb_unitLabel.text = "bpm"
view.fb_centerLabel.text = "--"
return view
}()
override func makeUI() {
super.makeUI()
selectionStyle = .none
contentView.addSubview(sleepBlockView)
contentView.addSubview(hearRateBlockView)
contentView.addSubview(rightTitleLabel)
contentView.addSubview(leftTitleLabel)
layoutUI()
}
func layoutUI() {
leftTitleLabel.snp.makeConstraints { (make) in
make.top.equalTo(kScaleWidth(20))
make.left.equalTo(sleepBlockView.snp.left).offset(12)
}
sleepBlockView.snp.makeConstraints { (make) in
make.top.equalTo(leftTitleLabel.snp.bottom).offset(5)
make.bottom.equalToSuperview()
make.left.equalTo(13)
make.width.equalTo(kScreenW / 2.0 - 13)
}
rightTitleLabel.snp.makeConstraints { (make) in
make.left.equalTo(hearRateBlockView.snp.left).offset(12)
make.top.equalTo(kScaleWidth(20))
}
hearRateBlockView.snp.makeConstraints { (make) in
make.top.equalTo(rightTitleLabel.snp.bottom).offset(5)
make.bottom.equalToSuperview()
make.right.equalTo(-13)
make.width.equalTo(kScreenW / 2.0 - 13)
}
}
override func bind(model: ViewModel) {
super.bind(model: model)
guard let viewModel = model as? SleepHeartCellViewModels else { return }
viewModel.sleepTarget
.bind(to: sleepBlockView.fb_titleLabel.rx.text)
.disposed(by: cellDisposeBag)
viewModel.sleep
.bind(to: sleepBlockView.fb_centerLabel.rx.text)
.disposed(by: cellDisposeBag)
viewModel.sleepProgress
.subscribe(onNext: { [weak self] (progress) in
self?.sleepBlockView.fb_sleepCircleView.updateProcess(process: Float(progress))
})
.disposed(by: cellDisposeBag)
viewModel.heartRate
.bind(to: hearRateBlockView.fb_centerLabel.rx.text)
.disposed(by: cellDisposeBag)
}
}