// // 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) } }