// // SBTSHistoryHeaderView.swift // SolarBT // // Created by weclouds on 2019/2/26. // Copyright © 2019 weclouds. All rights reserved. // import UIKit class HeaderItem: UIView { var mTitle : String?{ didSet{ titleLabel.text = mTitle } } var mValue: String?{ didSet{ valueLabel.text = mValue; } } lazy var titleLabel: UILabel = { let titleLabel = UILabel() titleLabel.textColor = UIColor(hexString: "#BDBDBD") titleLabel.font = UIFont(name: PingFangSC_Medium, size: 11) return titleLabel }() lazy var valueLabel: UILabel = { let valueLabel = UILabel() valueLabel.textColor = UIColor(hexString: "#222222") valueLabel.font = UIFont(name: PingFangSC_Regular, size: 17) return valueLabel }() override init(frame: CGRect) { super.init(frame: frame) createUI() } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } func createUI() { addSubview(titleLabel) addSubview(valueLabel) titleLabel.snp.makeConstraints { (make) in make.top.right.left.equalToSuperview() make.height.equalTo(15) } valueLabel.snp.makeConstraints { (make) in make.left.bottom.right.equalToSuperview() make.height.equalTo(25) } } } class SBTSHistoryHeaderView: UIView { var itemValues : [String]? = [String]() var mStatistics : StatisticsData?{ didSet{ //发电量 let generateInt = Int(self.mStatistics!.totalGenerationCapacity!) //格式化 let format = NumberFormatter() //设置umberStyle format.numberStyle = .decimal //转换后的string let generationCapacity = format.string(from: generateInt! as NSNumber) generateElectricityLabel.text = generationCapacity //放电量 let discharge = Int((self.mStatistics?.totalDischargeCapacity!)!) let dischargeCapacity = format.string(from: discharge! as NSNumber) itemValues?.append(self.mStatistics!.totalDischargeCapacity!) itemValues?.append(self.mStatistics!.runTime!) itemValues?.append(self.mStatistics!.overTimes!) itemValues?.append(self.mStatistics!.fullTimes!) itemValues?.append(self.mStatistics!.chargingAmpereHour!) itemValues?.append(self.mStatistics!.dischargeAmpereHour!) } } //发电量 lazy var generateElectricityLabel: UILabel = { let generateElectricityLabel = UILabel() // generateElectricityLabel.text = "425,837" generateElectricityLabel.textColor = UIColor(hexString: "#222222") generateElectricityLabel.font = UIFont(name: PingFangSC_Regular, size: 45) return generateElectricityLabel }() func fillViewData(_ mStatistics : StatisticsData) { //发电量 let generateInt = Double(mStatistics.totalGenerationCapacity!)! * 0.001 //格式化 let format = NumberFormatter() //设置umberStyle format.numberStyle = .decimal //转换后的string let generationCapacity = format.string(from: generateInt as NSNumber) generateElectricityLabel.text = generationCapacity //放电量 let discharge = Double(mStatistics.totalDischargeCapacity!)! * 0.001 let dischargeCapacity = format.string(from: discharge as NSNumber) itemValues?.append(mStatistics.runTime!) itemValues?.append(mStatistics.fullTimes!) itemValues?.append(mStatistics.overTimes!) itemValues?.append(generationCapacity!) let chargingAH = Int(mStatistics.chargingAmpereHour!) let chargingAmpereHour = format.string(from: chargingAH! as NSNumber) // itemValues?.append(chargingAmpereHour!) itemValues?.append(mStatistics.chargingAmpereHour!) itemValues?.append(dischargeCapacity!) let dischargeAH = Int(mStatistics.dischargeAmpereHour!) let dischargeAmpereHour = format.string(from: dischargeAH! as NSNumber) // itemValues?.append(dischargeAmpereHour!) itemValues?.append(mStatistics.dischargeAmpereHour!) //赋值 for i in 0..<7 { let item = viewWithTag(93485 + i) as! HeaderItem item.mValue = itemValues![i] } } override init(frame: CGRect) { super.init(frame: frame) createUI() } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } } extension SBTSHistoryHeaderView{ func createUI() { //头部分割线 let topLine = UIView() addSubview(topLine) topLine.backgroundColor = UIColor(hexString: "E9E9E9") topLine.snp.makeConstraints { (make) in make.top.equalToSuperview() make.left.equalToSuperview().offset(30) make.right.equalToSuperview().offset(-30) make.height.equalTo(1) } // let topLabel = UILabel() // topLabel.text = "发电量(Wh)" // topLabel.textColor = UIColor(hexString: "#BDBDBD") // topLabel.font = UIFont(name: PingFangSC_Medium, size: 11) // addSubview(topLabel) // topLabel.snp.makeConstraints { (make) in // make.left.equalToSuperview().offset(25) // make.top.equalTo(topLine.snp.bottom).offset(19) // } // addSubview(generateElectricityLabel) // generateElectricityLabel.snp.makeConstraints { (make) in // make.left.equalTo(topLabel.snp.left) // make.top.equalTo(topLabel.snp.bottom) // } let titles = ["Running_days_(days)".da_localizedStr(),"Number_of_full_charge_times".da_localizedStr(),"Number_of_overdicharge_times".da_localizedStr(),"Power_generation(kWh)".da_localizedStr(),"Charge_amp_hours_(Ah)".da_localizedStr(),"Discharge_amount(kWh)".da_localizedStr(),"Discharge_amp_hours_(Ah)".da_localizedStr()] //添加不同项 let itemWidth = (KSCREENWIDTH - 25 * 2 - 10 * 2 ) / 3 let itemHeight = 15 + 3 + 25 for i in 0..<3 { let row = i / 3 //行 let col = i % 3 // 列 let x = 25 + CGFloat(col) * (itemWidth + 10) let y = 20 + row * (itemHeight + 20) let item = HeaderItem(frame: CGRect(x: x, y: CGFloat(y), width: itemWidth, height: CGFloat(itemHeight))) item.tag = 93485 + i item.mTitle = titles[i] // item.mValue = itemValues![i] // item.backgroundColor = UIColor.random addSubview(item) } //添加不同项 /* 0 1 */ let itemWidth2 = (KSCREENWIDTH - 25 * 2 - 10) / 2 for i in 3..<7 { let row = (i - 3) / 2 //行 let col = (i - 3 ) % 2 // 列 let x = 25 + CGFloat(col) * (itemWidth2 + 10) let y = itemHeight + 20 + 20 + row * (itemHeight + 20) let item = HeaderItem(frame: CGRect(x: x, y: CGFloat(y), width: itemWidth2, height: CGFloat(itemHeight))) // item.backgroundColor = UIColor.random item.tag = 93485 + i item.mTitle = titles[i] // item.mValue = itemValues![i] addSubview(item) } } }