IHAirAdjustCell.swift 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. //
  2. // IHAirAdjustCell.swift
  3. // Inhealth
  4. //
  5. // Created by weclouds on 2019/12/18.
  6. // Copyright © 2019 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. protocol IHAirAdjustCellDelegate : NSObjectProtocol{
  10. func adjustSwitch(_ purifierId:String,status:String,level:String)
  11. func ctrolGear(_ purifierId:String,level:String)
  12. }
  13. class IHAirAdjustCell: UITableViewCell {
  14. weak var delegate : IHAirAdjustCellDelegate?
  15. var purifierId:String?
  16. var level:String?
  17. var airData : PurifierInfodata?{
  18. didSet{
  19. if let data = self.airData {
  20. if let purifierId = data.id,
  21. let status = data.status,let level = data.level,let online = data.online,let wifiLevel = data.wifiLevel,let useTime = data.useTime {
  22. self.purifierId = purifierId
  23. if status == "0" {
  24. self.exchangeSwitch.isSelected = false
  25. airLevelLabel.isUserInteractionEnabled = false
  26. }else if status == "1"{
  27. // self.exchangeSwitch.setOn(true, animate: true)
  28. self.exchangeSwitch.isSelected = true
  29. airLevelLabel.isUserInteractionEnabled = true
  30. }
  31. var airLevel = ""
  32. if level == "1" {
  33. airLevel = "低"
  34. }else if level == "2"{
  35. airLevel = "中"
  36. }else if level == "3"{
  37. airLevel = "高"
  38. }
  39. self.level = airLevel
  40. self.airLevelLabel.text = airLevel
  41. if online == "0" {
  42. self.onlineLabel.text = "离线"
  43. }else if online == "1"{
  44. self.onlineLabel.text = "在线"
  45. }
  46. //在xib上取消的信号
  47. // if wifiLevel == "0" {
  48. // self.wirelessStrenghLabel.text = "弱"
  49. // self.wirelessStrenghLabel.textColor = UIColor(hexString: "#FF0C4D")
  50. // self.wirelessStrenghImageV.image = UIImage(named: "信号1")
  51. //
  52. // }else if wifiLevel == "1" {
  53. // self.wirelessStrenghLabel.text = "一般"
  54. // self.wirelessStrenghLabel.textColor = UIColor(hexString: "#FBDF57")
  55. // self.wirelessStrenghImageV.image = UIImage(named: "信号2")
  56. // }else if wifiLevel == "2" {
  57. // self.wirelessStrenghLabel.text = "好"
  58. // self.wirelessStrenghLabel.textColor = UIColor(hexString: "#05CFAB")
  59. // self.wirelessStrenghImageV.image = UIImage(named: "信号3")
  60. // }
  61. // useTimeLabel.text = useTime + "h"
  62. guard let useTimeNum = Float(useTime) else{return}
  63. useTimeLabel.text = String.init(format: "%.2fh", useTimeNum)
  64. //useTimeLabel.text = String.init(format: "%.2f", useTimeNum)
  65. }
  66. }
  67. }
  68. }
  69. @IBOutlet weak var OpenAirView: UIView!
  70. @IBOutlet weak var connectivityView: UIView!
  71. //@IBOutlet weak var wirelessView: UIView!
  72. @IBOutlet weak var timeView: UIView!
  73. @IBOutlet weak var remaining: UIView!
  74. @IBOutlet weak var exchangeSwitch: UIButton!
  75. @IBOutlet weak var airLevelLabel: UILabel!
  76. @IBOutlet weak var onlineLabel: UILabel!
  77. @IBOutlet weak var wirelessStrenghLabel: UILabel!
  78. @IBOutlet weak var wirelessStrenghImageV: UIImageView!
  79. @IBOutlet weak var wirelessIcon: UIImageView!
  80. @IBOutlet weak var useTimeLabel: UILabel!
  81. @IBOutlet weak var remainingTimeLabel: UILabel!
  82. override func awakeFromNib() {
  83. super.awakeFromNib()
  84. // Initialization code
  85. OpenAirView.allRoundShadow()
  86. connectivityView.allRoundShadow()
  87. //wirelessView.allRoundShadow()
  88. timeView.allRoundShadow()
  89. remaining.allRoundShadow()
  90. // exchangeSwitch.setBackgroundImage(UIImage(named: "offSwitch"), for: .normal)
  91. // exchangeSwitch.setBackgroundImage(UIImage(named: "onSwitch_gray"), for: .selected)
  92. exchangeSwitch.addTarget(self, action: #selector(switchAction(sender:)), for: .touchUpInside)
  93. airLevelLabel.isUserInteractionEnabled = true
  94. let tap = UITapGestureRecognizer(target: self, action: #selector(tapLevel))
  95. airLevelLabel.addGestureRecognizer(tap)
  96. }
  97. override func setSelected(_ selected: Bool, animated: Bool) {
  98. super.setSelected(selected, animated: animated)
  99. // Configure the view for the selected state
  100. }
  101. @objc func switchAction(sender:UIButton){
  102. sender.isSelected = !sender.isSelected
  103. let status = sender.isSelected == true ? "1" : "0"
  104. // airLevelLabel.isUserInteractionEnabled = sender.isSelected
  105. var airLevel = "1"
  106. if self.level == "低" {
  107. airLevel = "1"
  108. }else if self.level == "中"{
  109. airLevel = "2"
  110. }else{
  111. airLevel = "3"
  112. }
  113. if let delegate = self.delegate {
  114. delegate.adjustSwitch(self.purifierId!, status: status, level: airLevel)
  115. }
  116. }
  117. @objc func tapLevel() {
  118. log.debug(" tapLevel")
  119. let titleArr = ["低","中","高"]
  120. let pick = THScrollChooseView(question: titleArr, withDefaultDesc: self.level ?? titleArr.first )
  121. pick?.confirmBlock = {(selectedIndex) in
  122. log.debug(" title = \(titleArr[selectedIndex])")
  123. self.airLevelLabel.text = titleArr[selectedIndex]
  124. self.level = titleArr[selectedIndex]
  125. if let delegate = self.delegate {
  126. // delegate.adjustSwitch(self.purifierId!, status: status, level: airLevel)
  127. let gear = (selectedIndex + 1)
  128. delegate.ctrolGear(self.purifierId!, level:"\(gear)" )
  129. }
  130. }
  131. pick?.show()
  132. }
  133. }