// // IHAirAdjustCell.swift // Inhealth // // Created by weclouds on 2019/12/18. // Copyright © 2019 weclouds. All rights reserved. // import UIKit protocol IHAirAdjustCellDelegate : NSObjectProtocol{ func adjustSwitch(_ purifierId:String,status:String,level:String) func ctrolGear(_ purifierId:String,level:String) } class IHAirAdjustCell: UITableViewCell { weak var delegate : IHAirAdjustCellDelegate? var purifierId:String? var level:String? var airData : PurifierInfodata?{ didSet{ if let data = self.airData { if let purifierId = data.id, let status = data.status,let level = data.level,let online = data.online,let wifiLevel = data.wifiLevel,let useTime = data.useTime { self.purifierId = purifierId if status == "0" { self.exchangeSwitch.isSelected = false airLevelLabel.isUserInteractionEnabled = false }else if status == "1"{ // self.exchangeSwitch.setOn(true, animate: true) self.exchangeSwitch.isSelected = true airLevelLabel.isUserInteractionEnabled = true } var airLevel = "" if level == "1" { airLevel = "低" }else if level == "2"{ airLevel = "中" }else if level == "3"{ airLevel = "高" } self.level = airLevel self.airLevelLabel.text = airLevel if online == "0" { self.onlineLabel.text = "离线" }else if online == "1"{ self.onlineLabel.text = "在线" } //在xib上取消的信号 // if wifiLevel == "0" { // self.wirelessStrenghLabel.text = "弱" // self.wirelessStrenghLabel.textColor = UIColor(hexString: "#FF0C4D") // self.wirelessStrenghImageV.image = UIImage(named: "信号1") // // }else if wifiLevel == "1" { // self.wirelessStrenghLabel.text = "一般" // self.wirelessStrenghLabel.textColor = UIColor(hexString: "#FBDF57") // self.wirelessStrenghImageV.image = UIImage(named: "信号2") // }else if wifiLevel == "2" { // self.wirelessStrenghLabel.text = "好" // self.wirelessStrenghLabel.textColor = UIColor(hexString: "#05CFAB") // self.wirelessStrenghImageV.image = UIImage(named: "信号3") // } // useTimeLabel.text = useTime + "h" guard let useTimeNum = Float(useTime) else{return} useTimeLabel.text = String.init(format: "%.2fh", useTimeNum) //useTimeLabel.text = String.init(format: "%.2f", useTimeNum) } } } } @IBOutlet weak var OpenAirView: UIView! @IBOutlet weak var connectivityView: UIView! //@IBOutlet weak var wirelessView: UIView! @IBOutlet weak var timeView: UIView! @IBOutlet weak var remaining: UIView! @IBOutlet weak var exchangeSwitch: UIButton! @IBOutlet weak var airLevelLabel: UILabel! @IBOutlet weak var onlineLabel: UILabel! @IBOutlet weak var wirelessStrenghLabel: UILabel! @IBOutlet weak var wirelessStrenghImageV: UIImageView! @IBOutlet weak var wirelessIcon: UIImageView! @IBOutlet weak var useTimeLabel: UILabel! @IBOutlet weak var remainingTimeLabel: UILabel! override func awakeFromNib() { super.awakeFromNib() // Initialization code OpenAirView.allRoundShadow() connectivityView.allRoundShadow() //wirelessView.allRoundShadow() timeView.allRoundShadow() remaining.allRoundShadow() // exchangeSwitch.setBackgroundImage(UIImage(named: "offSwitch"), for: .normal) // exchangeSwitch.setBackgroundImage(UIImage(named: "onSwitch_gray"), for: .selected) exchangeSwitch.addTarget(self, action: #selector(switchAction(sender:)), for: .touchUpInside) airLevelLabel.isUserInteractionEnabled = true let tap = UITapGestureRecognizer(target: self, action: #selector(tapLevel)) airLevelLabel.addGestureRecognizer(tap) } override func setSelected(_ selected: Bool, animated: Bool) { super.setSelected(selected, animated: animated) // Configure the view for the selected state } @objc func switchAction(sender:UIButton){ sender.isSelected = !sender.isSelected let status = sender.isSelected == true ? "1" : "0" // airLevelLabel.isUserInteractionEnabled = sender.isSelected var airLevel = "1" if self.level == "低" { airLevel = "1" }else if self.level == "中"{ airLevel = "2" }else{ airLevel = "3" } if let delegate = self.delegate { delegate.adjustSwitch(self.purifierId!, status: status, level: airLevel) } } @objc func tapLevel() { log.debug(" tapLevel") let titleArr = ["低","中","高"] let pick = THScrollChooseView(question: titleArr, withDefaultDesc: self.level ?? titleArr.first ) pick?.confirmBlock = {(selectedIndex) in log.debug(" title = \(titleArr[selectedIndex])") self.airLevelLabel.text = titleArr[selectedIndex] self.level = titleArr[selectedIndex] if let delegate = self.delegate { // delegate.adjustSwitch(self.purifierId!, status: status, level: airLevel) let gear = (selectedIndex + 1) delegate.ctrolGear(self.purifierId!, level:"\(gear)" ) } } pick?.show() } }