123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- //
- // IHPanelSettingView.swift
- // Inhealth
- //
- // Created by weclouds on 2020/7/25.
- // Copyright © 2020 weclouds. All rights reserved.
- //
- import UIKit
- import PKHUD
- protocol PanelSettingViewDelegate : NSObjectProtocol{
- func setPanelMode(dataList : [[String : String]])
- }
- class IHPanelSettingView: UIView {
-
- //var dataSource = [["Button 1" : "Attend class mode"],["Button 2" : "Finish class mode"],["Button 3" : "Projection mode"],["Button 4" : "Full-on mode"], ["Button 5" : "Full-off mode"],["Button 6" : "Self-study mode"]]
- var tableView : UITableView?
- weak var delegate : PanelSettingViewDelegate?
- var dataSource = [[String : String]]()
- //(1 全开模式,2 全关模式,3 投影模式,4 自习模式,5 板书模式,7 上课模式,8 下课模式,9 午休模式
- //上课模式 下课模式 投影模式 全开模式 全关模式 自习模式
- var panelMode : PanelModel?{
- didSet{
-
- let data1 = setModeData(indexBtn: 1, keyValue: (panelMode?.key1)!)
- let data2 = setModeData(indexBtn: 2, keyValue: (panelMode?.key2)!)
- let data3 = setModeData(indexBtn: 3, keyValue: (panelMode?.key3)!)
- let data4 = setModeData(indexBtn: 4, keyValue: (panelMode?.key4)!)
- let data5 = setModeData(indexBtn: 5, keyValue: (panelMode?.key5)!)
- let data6 = setModeData(indexBtn: 6, keyValue: (panelMode?.key6)!)
- dataSource.append(data1)
- dataSource.append(data2)
- dataSource.append(data3)
- dataSource.append(data4)
- dataSource.append(data5)
- dataSource.append(data6)
- //更新数据
- self.tableView?.reloadData()
-
- }
- }
-
- private func setModeData(indexBtn : Int, keyValue : String) ->[String : String]{
- //["Full-on mode","Full-off mode" ,"Attend class mode","Finish class mode","Noon break mode" ,"Self-study mode","Blackboard mode" ,"Projection mode"]
- // 1 全开模式,2 全关模式,3 投影模式,4 自习模式,5 板书模式,7 上课模式,8 下课模式,9 午休模式)
-
- var key = ""
- if "1" == keyValue {
- key = "全开模式"
- }else if "2" == keyValue {
- key = "全关模式"
- }else if "3" == keyValue {
- key = "投影模式"
- }else if "4" == keyValue{
- key = "自习模式"
- }else if "5" == keyValue{
- key = "板书模式"
- }else if "7" == keyValue {
- key = "上课模式"
- }else if "8" == keyValue {
- key = "下课模式"
- }else if "9" == keyValue{
- key = "午休模式"
- }
- return ["按键 \(indexBtn)" : key]
- }
- override init(frame: CGRect) {
- super.init(frame: frame)
-
- self.createUI()
-
- NotificationCenter.default.addObserver(self, selector: #selector(setPanelMode), name: NSNotification.Name(KNotifitionPanel), object: nil)
- }
-
- @objc func setPanelMode(noti : NSNotification){
- let dic = noti.userInfo
- let indexPath = dic?["indexPath"] as! IndexPath
- let choseValue = dic?["choseValue"] as! String
- var choseDic = self.dataSource[indexPath.row]
- choseDic.updateValue(choseValue, forKey: (choseDic.keys.first)!)
- //更新数组
- self.dataSource[indexPath.row] = choseDic
-
- //更新tableview
- self.tableView?.reloadRows(at: [indexPath], with: .automatic)
-
- }
-
- deinit {
- NotificationCenter.default.removeObserver(self)
- }
- required init?(coder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
- func createUI() {
-
- if KNavBarHeight == 64 {
- self.tableView = UITableView.init(frame: CGRect.init(x: 0, y: 0, width: KSCREENWIDTH, height: KSCREENHEIGHT - KNavBarHeight - 70), style: .plain)
- }else {
- self.tableView = UITableView.init(frame: CGRect.init(x: 0, y: 0, width: KSCREENWIDTH, height: KSCREENHEIGHT - KNavBarHeight - 34 - 70), style: .plain)
- }
-
- tableView?.dataSource = self
- tableView?.delegate = self
- tableView?.separatorStyle = .none
- tableView?.rowHeight = 120.0
- //self.tableView = tableView
- self.addSubview(tableView!)
-
- let between : CGFloat = 30.0
- let saveBtn = UIButton.init(frame: CGRect.init(x: between, y: tableView!.size.height + 20.0, width: KSCREENWIDTH - between * 2, height: 40))
- saveBtn.setTitle("保存", for: .normal)
- saveBtn.backgroundColor = UIColor.init(hexString: "#573F95")
- saveBtn.addTarget(self, action: #selector(saveValueBtn), for: .touchUpInside)
- saveBtn.layer.cornerRadius = 5
- saveBtn.layer.masksToBounds = true
- self.addSubview(saveBtn)
-
- }
- }
- extension IHPanelSettingView {
- @objc func saveValueBtn(sender : UIButton){
- // HUD.flash(.label("加载中..."), delay: 8)
- HUD.flash(.progress, delay: 8.0)
- self.delegate?.setPanelMode(dataList: self.dataSource)
- }
- }
- extension IHPanelSettingView : UITableViewDelegate,UITableViewDataSource{
- func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- return self.dataSource.count
- }
-
- func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
- let cell = IHPanelSettingCell.panelCellWithTableViewAndIndexPath(tableView: tableView, indexPath: indexPath)
- cell.indexPath = indexPath
- cell.dataSource = self.dataSource[indexPath.row]
- return cell
- }
-
-
- }
|