123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- //
- // IHCentralizedView.swift
- // Inhealth
- //
- // Created by weclouds on 2019/12/14.
- // Copyright © 2019 weclouds. All rights reserved.
- //
- import UIKit
- //import TKSwitcherCollection
- extension UILabel{
- func isEmpty(_ placehodler :String?) {
- self.textColor = UIColor(hexString: "#C6CDD5")
- self.text = placehodler
- }
- //重新设置
- func reset() {
- self.textColor = UIColor(hexString: "#333333")
- }
- }
- protocol IHCentralizedViewDelegate : NSObjectProtocol {
- func centralizeSetting(roomId:String,light:String,color:String,colorR:String,colorG:String,colorB:String,status:String,level:String)
- }
- class IHCentralizedView: UIView {
- weak var delegate : IHCentralizedViewDelegate?
-
- private var roomId:String?
- private var light:String? = "25"
- private var color:String? = "5"
- private var colorR:String? = "0"
- private var colorG:String? = "0"
- private var colorB:String? = "0"
- var floorList:[RoomListData]?{
- didSet{
- floorNames = IHCentrlizedService.share.getFloorNameList(from: self.floorList)
- floorNameLabel.text = floorNames?.first
-
- if floorNames != nil || floorNames!.count > 0 {
- floorNameLabel.reset()
- //获取第一层楼的房间列表
- roomNames = IHCentrlizedService.share.getFirstRooms(self.floorList)
- roomNumberLabel.text = roomNames?.first
- //第一个房间id
- self.roomId = IHCentrlizedService.share.getFirstRoomID(self.floorList)
-
- }else{
- floorNameLabel.isEmpty("Please chose Floor")
- }
- selectedFloor = self.floorList?.first // 默认选择第一个
- }
- }
-
- var selectedFloor: RoomListData?
-
- var floorNames :[String]?
-
- var roomNames :[String]?
-
- var purifierStatus: String? = "0"
-
- var purifierLevel:String? = "1"
- @IBOutlet weak var brightnessLabel: UILabel!
-
- @IBOutlet weak var brightnessSlider: IHSlider!
-
- @IBOutlet weak var colorTemperatureSlider: IHSlider!
-
- @IBOutlet weak var colorTemperatureSliderLabel: UILabel!
-
- @IBOutlet weak var ColorBoxView: UIView!
-
- @IBOutlet weak var exchangeSwitch: UIButton!
-
-
- @IBOutlet weak var floorBox: UIView!
-
- @IBOutlet weak var floorNameLabel: UILabel!
-
- @IBOutlet weak var scenceBox: UIView!
-
- @IBOutlet weak var scenceModeLabel: UILabel!
-
- @IBOutlet weak var roomBox: UIView!
-
- @IBOutlet weak var roomNumberLabel: UITextField!
-
- @IBOutlet weak var purifierBox: UIView!
-
- @IBOutlet weak var purifierLevelLabel: UILabel!
-
- lazy var colorAdjustmentView: IHColorAdjustmentView = {
- let view = Bundle.main.loadNibNamed("IHColorAdjustmentView", owner: nil, options: nil)?.first as! IHColorAdjustmentView
- view.delegate = self
- return view
- }()
- override func awakeFromNib() {
- super.awakeFromNib()
- setupView()
- addGesture()
- }
- override func layoutSubviews() {
- super.layoutSubviews()
- colorAdjustmentView.frame = ColorBoxView.bounds
- }
-
- ///设置子视图
- func setupView() {
- ColorBoxView.addSubview(colorAdjustmentView)
- brightnessSlider.minimumValue = 0
- brightnessSlider.maximumValue = 100
- colorTemperatureSlider.minimumValue = 0
- colorTemperatureSlider.maximumValue = 10
-
- brightnessSlider.value = 25
- colorTemperatureSlider.value = 5
- brightnessLabel.text = "50%"
- colorTemperatureSliderLabel.text = "4500k"
- let image1 = originImage(UIImage(named: "greenThumb")!, scaleToSize: CGSize(width: 20, height: 20))
- colorTemperatureSlider.setThumbImage(image1, for: .normal)
- colorTemperatureSlider.setThumbImage(image1, for: .highlighted)
- let image2 = originImage(UIImage(named: "紫色进度条按钮")!, scaleToSize: CGSize(width: 20, height: 20))
- brightnessSlider.setThumbImage(image2, for: .normal)
- brightnessSlider.setThumbImage(image2, for: .highlighted)
-
- }
- ///添加点击手势
- func addGesture() {
- let floorTap = UITapGestureRecognizer(target: self, action: #selector(tapFloorBoxAction))
- floorBox.addGestureRecognizer(floorTap)
-
- let roomTap = UITapGestureRecognizer(target: self, action: #selector(tapRoomBoxAction))
- roomBox.addGestureRecognizer(roomTap)
-
- let scenceTap = UITapGestureRecognizer(target: self, action: #selector(tapScenceBoxAction))
- scenceBox.addGestureRecognizer(scenceTap)
-
- let purifierTap = UITapGestureRecognizer(target: self, action: #selector(tapPurifierBoxAction))
- purifierBox.addGestureRecognizer(purifierTap)
-
- }
-
-
- @IBAction func brightnessEndChange(_ sender: UISlider) {
- self.light = "\(Int(sender.value))"
- log.debug(Int(sender.value))
- let bright = (sender.value)
- self.brightnessLabel.text = "\(Int(bright))%"
- }
-
- @IBAction func colorTempEndChange(_ sender: UISlider) {
- log.debug(Int(sender.value))
-
- let index = Int(sender.value + 0.5)
- colorTemperatureSlider.setValue(Float(index), animated: false)
- self.colorTemperatureSliderLabel.text = "\(index * 300 + 3000)k"
- self.color = "\(index * 300 + 3000)"
- }
-
-
- func originImage(_ image:UIImage, scaleToSize size:CGSize) -> UIImage {
- UIGraphicsBeginImageContext(size)
- image.draw(in: CGRect(x: 0, y: 0, width: size.width, height: size.height))
- let scaleImage = UIGraphicsGetImageFromCurrentImageContext()
- UIGraphicsEndImageContext()
- return scaleImage!
- }
-
- @IBAction func preserveAction(_ sender: Any) {
- if let delegate = self.delegate{
- delegate.centralizeSetting(roomId: self.roomId!, light: self.light!, color: self.color!, colorR: self.colorR!, colorG: self.colorG!, colorB: self.colorB!, status: self.purifierStatus!, level: self.purifierLevel!)
- }
-
-
- }
-
-
- @objc func tapFloorBoxAction() {
-
- let titleArr = self.floorNames
- let pick = THScrollChooseView(question: titleArr, withDefaultDesc: titleArr?.first)
- pick?.confirmBlock = {(selectedIndex) in
- log.debug(" title = \(titleArr?[selectedIndex] ?? "")")
- let floor = self.floorList?[selectedIndex]
- self.floorNameLabel.text = floor?.name
- self.selectedFloor = floor
- //获取房间
- self.roomNames = IHCentrlizedService.share.getRoomNameList(from: floor?.roomList)
- self.roomNumberLabel.text = self.roomNames?.first
- if self.floorNames != nil || self.floorNames!.count > 0 {
-
- self.floorNameLabel.reset()
- }else{
- self.floorNameLabel.isEmpty("Please chose Floor")
- }
- //获取第一层楼的房间列表
-
-
- }
- pick?.show()
- }
-
- @objc func tapRoomBoxAction() {
- log.debug(" tapRoomBoxAction")
- let titleArr = self.roomNames
- let pick = THScrollChooseView(question: titleArr, withDefaultDesc: titleArr?.first)
- if titleArr?.count == 0 {
- g_showHUD("在此层还没有添加房间!")
- return
- }
- pick?.confirmBlock = {(selectedIndex) in
- // log.debug(" title = \(titleArr?[selectedIndex] ?? " ")")
- self.roomId = IHCentrlizedService.share.getRoomId(from: self.selectedFloor, roomIndex: selectedIndex)
- self.roomNumberLabel.text = titleArr?[selectedIndex]
- }
- pick?.show()
- }
-
- @objc func tapScenceBoxAction() {
- log.debug(" tapScenceBoxAction")
- let titleArr = ["自定义模式","阅读模式","全面模式","休息模式","放松模式","工作模式"]
- let pick = THScrollChooseView(question: titleArr, withDefaultDesc: titleArr.first)
- pick?.confirmBlock = {(selectedIndex) in
- self.scenceModeLabel.text = titleArr[selectedIndex]
- log.debug(" title = \(titleArr[selectedIndex])")
- }
- pick?.show()
- }
-
- @objc func tapPurifierBoxAction() {
- log.debug(" tapPurifierBoxAction")
- let titleArr = ["低档","中档","高档"]
- let pick = THScrollChooseView(question: titleArr, withDefaultDesc: titleArr.first)
- pick?.confirmBlock = {(selectedIndex) in
- log.debug(" title = \(titleArr[selectedIndex])")
- self.purifierLevelLabel.text = titleArr[selectedIndex]
- self.purifierLevel = "\(selectedIndex + 1)"
- }
- pick?.show()
- }
-
- @IBAction func switchAction(_ sender: UIButton) {
- sender.isSelected = !sender.isSelected
- self.purifierStatus = sender.isSelected == true ? "1" : "0"
- }
- }
- extension IHCentralizedView :IHColorAdjustmentViewDelegate{
- func colorAdjustmentViewChangedColor(red: Int, green: Int, blue: Int) {
- self.colorR = "\(red)"
- self.colorG = "\(green)"
- self.colorB = "\(blue)"
- }
- }
-
|