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.
 
 
 

78 lines
3.0 KiB

//
// SportHeaderView.swift
// HPlusFit
//
// Created by lemo. on 2019/9/17.
// Copyright © 2019 lemo. All rights reserved.
//
import UIKit
class SportHeaderView: UIView {
@IBOutlet weak var dataBgView: UIView!
@IBOutlet weak var distanceBgView: UIView!
@IBOutlet weak var distanceTipLabel: UILabel!
@IBOutlet weak var distanceValueLabel: UILabel!
@IBOutlet weak var distanceUnitLabel: UILabel!
@IBOutlet weak var countBgView: UIView!
@IBOutlet weak var countTipLabel: UILabel!
@IBOutlet weak var countValueLabel: UILabel!
@IBOutlet weak var countUnitLabel: UILabel!
@IBOutlet weak var durationBgView: UIView!
@IBOutlet weak var durationTipLabel: UILabel!
@IBOutlet weak var durationValueLabel: UILabel!
@IBOutlet weak var caloriesBgView: UIView!
@IBOutlet weak var caloriesTipLabel: UILabel!
@IBOutlet weak var caloriesValueLabel: UILabel!
@IBOutlet weak var sportListLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
dataBgView.layer.cornerRadius = 10
dataBgView.layer.shadowOffset = CGSize(width: 0, height: 1.5)
dataBgView.layer.shadowOpacity = 1
dataBgView.layer.shadowRadius = 7
dataBgView.layer.shadowColor = UIColor(red: 0.15, green: 0.54, blue: 0.82, alpha: 0.2).cgColor
bgViewStyle(view: distanceBgView, color: kHexColor(0xFFCC9C))
bgViewStyle(view: countBgView, color: kHexColor(0x80D0FF))
bgViewStyle(view: durationBgView, color: kHexColor(0x9CAFFF))
bgViewStyle(view: caloriesBgView, color: kHexColor(0xFFCC9C))
distanceTipLabel.text = MultiLanguageKey.totalDistanceFB.localized
countTipLabel.text = MultiLanguageKey.totalCountFB.localized
durationTipLabel.text = MultiLanguageKey.totalDurationFB.localized
caloriesTipLabel.text = MultiLanguageKey.totalCaloriesFB.localized
sportListLabel.text = MultiLanguageKey.sportListFB.localized
}
///
/// - Parameter sports:
func refreshUI(sports: [SportModel]) {
var distance = 0
var calories: Float = 0
var duration = 0
sports.forEach { (sport) in
distance += sport.distance
calories += sport.calorie
duration += sport.duration
}
let metric = UserDefaultsManager.getUserInfo()?.metricUnit ?? 0
let distanceStr = metric == 0 ? String(format: "%0.2lf",CGFloat(distance) / 1000.0) : String(format: "%0.2lf", CGFloat(distance) / 1000.0 * 0.62137)
distanceValueLabel.text = distanceStr
distanceUnitLabel.text = metric == 0 ? "km" : "miles"
caloriesValueLabel.text = String(calories)
durationValueLabel.text = String(format: "%.1lf", Double(duration) / 3600)
countValueLabel.text = String(sports.count)
}
private func bgViewStyle(view: UIView, color: UIColor) {
view.layer.cornerRadius = 3
view.layer.borderWidth = 0.5
view.layer.borderColor = color.cgColor
}
}