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