IHRoomLightBarChartCell.swift 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. //
  2. // IHRoomLightBarChartCell.swift
  3. // Inhealth
  4. //
  5. // Created by weclouds on 2019/12/16.
  6. // Copyright © 2019 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. protocol IHRoomLightBarChartCellDelegate : NSObjectProtocol{
  10. func switchDataType(_ index: Int)
  11. func controlSwitch(_ status : String)
  12. }
  13. class IHRoomLightBarChartCell: UITableViewCell {
  14. weak var delegate : IHRoomLightBarChartCellDelegate?
  15. @IBOutlet weak var alarmBox: UIView!
  16. @IBOutlet weak var switchBtn: UIButton!
  17. var lightData : LightInfodata?{
  18. didSet{
  19. if let lightData = self.lightData {
  20. devNameLabel.text = lightData.name
  21. devIdLabel.text = "Lights · " + lightData.deviceId!
  22. alarmInfoLabel.text = lightData.alarmInfo
  23. if let status = lightData.status {
  24. if status == "1"{
  25. self.switchBtn.isSelected = true
  26. self.switchBtn.setBackgroundImage(UIImage(named: "onSwitch_gray"), for: .selected)
  27. }else if status == "0"{
  28. self.switchBtn.setBackgroundImage(UIImage(named: "offSwitch"), for: .normal)
  29. self.switchBtn.isSelected = false
  30. }
  31. }
  32. if lightData.alarmStatus == "0" {
  33. self.alarmBox.isHidden = true
  34. }else{
  35. self.alarmBox.isHidden = false
  36. }
  37. }
  38. }
  39. }
  40. var reportData: ReportData?{
  41. didSet{
  42. if let reportData = self.reportData {
  43. barChartView.reportData = reportData
  44. }
  45. }
  46. }
  47. @IBOutlet weak var exchangeSwitch: UIView!
  48. @IBOutlet weak var devNameLabel: UILabel!
  49. @IBOutlet weak var devIdLabel: UILabel!
  50. @IBOutlet weak var alarmInfoLabel: UILabel!
  51. @IBOutlet weak var devImageV: UIImageView!
  52. @IBOutlet weak var barView: UIView!
  53. lazy var barChartView: IHBarChartView = {
  54. let barChartView = IHBarChartView()
  55. barChartView.delegate = self
  56. return barChartView
  57. }()
  58. override func awakeFromNib() {
  59. super.awakeFromNib()
  60. // Initialization code
  61. barView.addSubview(barChartView)
  62. switchBtn.addTarget(self, action: #selector(switchAction(sender:)), for: .touchUpInside)
  63. }
  64. override func setSelected(_ selected: Bool, animated: Bool) {
  65. super.setSelected(selected, animated: animated)
  66. }
  67. override func layoutSubviews() {
  68. super.layoutSubviews()
  69. barChartView.snp.makeConstraints { (make) in
  70. make.top.left.right.bottom.equalToSuperview()
  71. }
  72. }
  73. @objc func switchAction(sender:UIButton){
  74. sender.isSelected = !sender.isSelected
  75. let status = sender.isSelected == true ? "1" : "0"
  76. NotificationCenter.default.post(name: NSNotification.Name(kNotificationIHRoomLightColorCellChangeSwitchStatus), object: status)
  77. if let delegate = self.delegate {
  78. delegate.controlSwitch(status)
  79. }
  80. }
  81. }
  82. extension IHRoomLightBarChartCell: IHBarChartViewDelegate{
  83. func exchangeBarChartDataType(_ index: Int) {
  84. if let delegate = self.delegate {
  85. delegate.switchDataType(index)
  86. }
  87. }
  88. }