无故事王国
2023-10-25 158f3707711ad4be78a55dc73a98aa1c9acda0dd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
//
//  HomeDetailContentTCell.swift
//  BrokerDriver
//
//  Created by 无故事王国 on 2023/4/27.
//
 
import UIKit
 
class HomeDetailContentTCell: UITableViewCell {
    @IBOutlet weak var label_title: UILabel!
    @IBOutlet weak var view_icon: UIView!
    @IBOutlet weak var label_address: UILabel!
    @IBOutlet weak var view_VStack: UIStackView!
    @IBOutlet weak var btn_1: UIButton!
    @IBOutlet weak var btn_2: UIButton!
    @IBOutlet weak var view_btns: UIView!
 
    var dicts = Dictionary<String,Any>(){
        didSet{
            view_VStack.qmui_removeAllSubviews()
            let results = dicts.keys.sorted().filter({$0 != "1_title" && $0 != "2_address" && $0 != "7_danger" && $0 != "8_weight"})
 
            if let title = dicts["1_title"] as? String{
                label_title.text = title
            }
 
            if let address = dicts["2_address"] as? String{
                label_address.text = address
            }
 
            for key in results {
                let v1 = createContentLabel(.left, text: key.components(separatedBy: "_").last!)
                let v2 = createContentLabel(.right, text: "\(dicts[key] ?? "")")
                let hStackView = UIStackView(arrangedSubviews: [v1,v2], axis: .horizontal)
                view_VStack.addArrangedSubview(hStackView)
            }
            view_VStack.layoutIfNeeded()
 
 
            var isDanger = false
            var isWeight = false
 
            if let danger = dicts["7_danger"] as? Int{
                btn_1.isHidden = danger == 0
                btn_1.setTitle("Danger", for: .normal)
                isDanger = (danger == 1)
            }
 
            if let weight = dicts["8_weight"] as? Int{
                btn_2.isHidden = weight == 0
                btn_2.setTitle("Weight", for: .normal)
                isWeight = (weight == 1)
            }
 
            view_btns.isHidden =  (isDanger && isWeight)
        }
    }
 
    override func awakeFromNib() {
        super.awakeFromNib()
 
        btn_1.isHidden = true
        btn_2.isHidden = true
    }    
}
 
private func createContentLabel(_ aligment:NSTextAlignment,text:String)->UILabel{
    let l1 = UILabel()
    l1.textAlignment = aligment
    if aligment == .left{
        l1.text = text + ":"
        l1.font = UIFont.systemFont(ofSize: 12)
        l1.textColor = UIColor(hexStr: "2E2E2E")
    }else{
        l1.text = text
        l1.font = UIFont.systemFont(ofSize: 12,weight: .semibold)
        l1.textColor = UIColor(hexStr: "2E2E2E")
    }
    return l1
}