// // SBTSetLoadVCtr.swift // SolarBT // // Created by weclouds on 2019/3/20. // Copyright © 2019 weclouds. All rights reserved. // import UIKit import SwiftPopup class SBTSetLoadVCtr: SwiftPopup { var isDemo :Bool? var peripheralName :String? //完成回调 var completehandle:(()->Void)? @IBOutlet weak var saveBtn: UIButton! @IBOutlet weak var cancelBtn: UIButton! var selectedIndex : Int? var dataSource:[String]? = [String](){ didSet{ } } var load_mode_type:Int? = -1 var cmdArr: [String]? = [String]() @IBOutlet weak var loadSettintLabel: UILabel! @IBOutlet weak var loadworkModeLabel: UILabel! @IBOutlet weak var lightVoltageLabel: UILabel! @IBOutlet weak var lightDelayTimeLabel: UILabel! @IBOutlet weak var lightDelayTimeBox: UIView! @IBOutlet weak var lightDelayTime: UITextField! @IBOutlet weak var loadWorkModeBox: UIView! @IBOutlet weak var loadWorkmode: UILabel! @IBOutlet weak var lightVoltageBox: UIView! @IBOutlet weak var lightVoltage: UITextField! @IBOutlet weak var closeLabel: UILabel! func loadModeCMD(_ type:Int) -> String { var loadmode = "" switch type { case 0: loadmode = "0000" case 1: loadmode = "0001" case 2: loadmode = "0002" case 3: loadmode = "0003" case 4: loadmode = "0004" case 5: loadmode = "0005" case 6: loadmode = "0006" case 7: loadmode = "0007" case 8: loadmode = "0008" case 9: loadmode = "0009" case 10: loadmode = "000A" case 11: loadmode = "000B" case 12: loadmode = "000C" case 13: loadmode = "000D" case 14: loadmode = "000E" case 15: loadmode = "000F" case 16: loadmode = "0010" case 17: loadmode = "0011" case 18: loadmode = "0012" default: break } return loadmode } @IBAction func saveAction(_ sender: Any) { //判断输入 if load_mode_type != -1{ let loadtype = loadModeCMD(load_mode_type!) let loadTypeCmd = "FF06E01D" + loadtype cmdArr?.append(loadTypeCmd) } if self.lightDelayTime.text != "" { let lightDelayInt = Int(lightDelayTime.text!) if lightDelayInt! < 0 || lightDelayInt! > 60 { g_toast("Light_control_delay_time_range".da_localizedStr()) return }else{ let delayTime = String(format: "%04X", lightDelayInt!) let delayTimeCMD = "FF06E01E" + delayTime cmdArr?.append(delayTimeCMD) } } if self.lightVoltage.text != "" { let lightVoltageInt = Int(self.lightVoltage.text!) if lightVoltageInt! < 1 || lightVoltageInt! > 40 { g_toast("Light_control_voltage_range".da_localizedStr()) return }else{ let voltage = String(format: "%04X", lightVoltageInt!) let voltageCMD = "FF06E01F" + voltage cmdArr?.append(voltageCMD) } } if cmdArr?.count != 0 { if isDemo == false{ BabyBluetoothSwift.shareInstance()?.writeData2222(cmdArr, completionHandler: { (result) in g_showHUD("Successful".da_localizedStr()) self.completehandle!() }) }else{ g_showHUD("Current_demo_data".da_localizedStr()) } // setLoadParam(cmdArr!) } dismiss() } @IBAction func cancelAction(_ sender: Any) { dismiss() } override func viewDidLoad() { super.viewDidLoad() createUI() } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) if self.selectedIndex == 0 { tapAction1() }else if self.selectedIndex == 1 { self.lightDelayTime.becomeFirstResponder() }else if self.selectedIndex == 2 { self.lightVoltage.becomeFirstResponder() } } } extension SBTSetLoadVCtr{ func createUI() { loadSettintLabel.text = "Load_settings".da_localizedStr() loadworkModeLabel.text = "Load_mode".da_localizedStr() lightVoltageLabel.text = "Light_control_voltage".da_localizedStr() lightDelayTimeLabel.text = "Light_control_delay_time".da_localizedStr() self.closeLabel.text = "Retract".da_localizedStr() self.saveBtn.setTitle("Setup".da_localizedStr(), for: .normal) self.cancelBtn.setTitle("Cancel".da_localizedStr(), for: .normal) self.lightVoltage.delegate = self self.lightDelayTime.delegate = self; if self.dataSource?.count != 0 { loadWorkmode.text = self.dataSource![0] lightDelayTime.placeholder = self.dataSource![1] lightVoltage.placeholder = self.dataSource![2] } self.backViewColor = UIColor(white: 1, alpha: 0.84) let bgLayer1 = CAGradientLayer() bgLayer1.colors = [UIColor(red: 0.82, green: 0.82, blue: 0.82, alpha: 1).cgColor, UIColor(red: 0.74, green: 0.74, blue: 0.74, alpha: 1).cgColor] bgLayer1.locations = [0, 1] bgLayer1.frame = self.cancelBtn.bounds bgLayer1.startPoint = CGPoint(x: 0.09, y: 0.31) bgLayer1.endPoint = CGPoint(x: 0.83, y: 0.83) self.cancelBtn.layer.addSublayer(bgLayer1) // fillCode let bgLayer2 = CAGradientLayer() bgLayer2.colors = [UIColor(red: 1, green: 0.52, blue: 0.07, alpha: 1).cgColor, UIColor(red: 1, green: 0.67, blue: 0, alpha: 1).cgColor] bgLayer2.locations = [0, 1] bgLayer2.frame = self.saveBtn.bounds bgLayer2.startPoint = CGPoint(x: 1, y: 1) bgLayer2.endPoint = CGPoint(x: 0, y: 0) self.saveBtn.layer.addSublayer(bgLayer2) let tap1 = UITapGestureRecognizer(target: self, action: #selector(tapAction1)) loadWorkModeBox.addGestureRecognizer(tap1) let tap2 = UITapGestureRecognizer(target: self, action: #selector(tapAction2)) self.closeLabel.isUserInteractionEnabled = true closeLabel.addGestureRecognizer(tap2) } @objc func tapAction1() { log.debug("负载工作模式") let loadworkModes = ["Light_control".da_localizedStr(), "Light_control,_delay_1_hour".da_localizedStr(), "Light_control,_delay_2_hours".da_localizedStr(), "Light_control,_delay_3_hours".da_localizedStr(), "Light_control,_delay_4_hours".da_localizedStr(), "Light_control,_delay_5_hours".da_localizedStr(), "Light_control,_delay_6_hours".da_localizedStr(), "Light_control,_delay_7_hours".da_localizedStr(), "Light_control,_delay_8_hours".da_localizedStr(), "Light_control,_delay_9_hours".da_localizedStr(), "Light_control,_delay_10_hours".da_localizedStr(), "Light_control,_delay_11_hours".da_localizedStr(), "Light_control,_delay_12_hours".da_localizedStr(), "Light_control,_delay_13_hours".da_localizedStr(), "Light_control,_delay_14_hours".da_localizedStr(), "Manual_mode".da_localizedStr(), "Normal-on_mode".da_localizedStr()] let loadWorkmodePick = THScrollChooseView(question: loadworkModes, withDefaultDesc:"Light_control".da_localizedStr()) loadWorkmodePick!.show() loadWorkmodePick?.confirmBlock = {[weak self](selectedIndex) in log.debug(loadworkModes[selectedIndex]) self?.loadWorkmode.text = loadworkModes[selectedIndex] self?.loadWorkmode.textColor = UIColor(hexString: "222222") self?.load_mode_type = selectedIndex } } @objc func tapAction2() { dismiss() } @objc func tapAction3() { } } extension SBTSetLoadVCtr: UITextFieldDelegate { func textFieldDidEndEditing(_ textField: UITextField) { let textFloat = Int(textField.text!) if (textFloat == nil){ g_toast("please_enter_number".da_localizedStr()) textField.text = "" return } if textField == self.lightVoltage { if self.lightVoltage.text != "" { let lightVoltageInt = Int(self.lightVoltage.text!) if lightVoltageInt! < 1 || lightVoltageInt! > 40 { g_toast("Light_control_voltage_range".da_localizedStr()) self.lightVoltage.text = "" } } } if textField == self.lightDelayTime { if lightDelayTime.text != "" { let lightDelayInt = Int(lightDelayTime.text!) if lightDelayInt! < 0 || lightDelayInt! > 60 { g_toast("Light_control_delay_time_range".da_localizedStr()) lightDelayTime.text = "" } } } } }