杨锴
2024-11-06 63f7ed967433acee3ae8764c7a077e15c29c41f2
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
//
//  CommentCommentHeaderView.swift
//  XQMuse
//
//  Created by 无故事王国 on 2024/8/15.
//
 
import UIKit
import JQTools
import RxSwift
 
class CommentCommentHeaderView: UITableViewHeaderFooterView {
 
                private var img_userCover:UIImageView!
                private var label_userName:UILabel!
                private var label_content:UILabel!
                private var btn_belike:UIButton!
                private var label_datetime:UILabel!
 
    private var model:CommentModel?
    private var disposeBag:DisposeBag?
 
                override init(reuseIdentifier: String?) {
                                super.init(reuseIdentifier: reuseIdentifier)
 
                                setUI()
                }
 
                private func setUI(){
 
                                img_userCover = UIImageView()
                                img_userCover.backgroundColor = .gray
                                img_userCover.jq_cornerRadius = 19.25
                                contentView.addSubview(img_userCover)
                                img_userCover.snp.makeConstraints { make in
                                                make.top.equalTo(22.5)
                                                make.left.equalTo(22)
                                                make.width.height.equalTo(38.5)
                                }
 
                                label_userName = UILabel()
                                label_userName.text = "张小胖"
                                label_userName.font = UIFont.systemFont(ofSize: 14, weight: .bold)
                                label_userName.textColor = UIColor(hexString: "#383838")
                                contentView.addSubview(label_userName)
                                label_userName.snp.makeConstraints {[unowned self] make in
                                                make.left.equalTo(self.img_userCover.snp.right).offset(12.5)
                                                make.centerY.equalTo(self.img_userCover)
                                                make.height.equalTo(13.5)
                                                make.right.equalTo(-50)
                                }
 
                                btn_belike = UIButton(type: .custom)
        btn_belike.setImage(UIImage(named: "btn_good_1")?.withTintColor(UIColor(hexStr: "fe5b60")), for: .selected)
        btn_belike.setImage(UIImage(named: "btn_good"), for: .normal)
        btn_belike.addTarget(self, action: #selector(belike), for: .touchUpInside)
                                contentView.addSubview(btn_belike)
                                btn_belike.snp.makeConstraints { make in
                                                make.width.height.equalTo(30)
                                                make.right.equalTo(-20)
                                                make.centerY.equalTo(label_userName)
                                }
 
                                label_content = UILabel()
                                label_content.font = UIFont.systemFont(ofSize: 12.5, weight: .bold)
                                label_content.numberOfLines = 0
                                label_content.textColor = UIColor(hexString: "#383838")
                                contentView.addSubview(label_content)
                                label_content.snp.makeConstraints {[unowned self] make in
                                                make.top.equalTo(self.label_userName.snp.bottom).offset(12.5)
                                                make.left.equalTo(self.label_userName.snp.left)
                                                make.right.equalTo(-10)
                                                make.height.greaterThanOrEqualTo(13.5)
                                }
 
                                label_datetime = UILabel()
                                label_datetime.font = UIFont.systemFont(ofSize: 9.41, weight: .medium)
                                label_datetime.textColor = UIColor(hexString: "#B6B6B6")
                                contentView.addSubview(label_datetime)
                                label_datetime.snp.makeConstraints {[unowned self] make in
                                                make.top.equalTo(self.label_content.snp.bottom).offset(9)
                                                make.left.equalTo(self.label_userName.snp.left)
                                                make.height.equalTo(7)
                                                make.bottom.equalToSuperview().offset(-10)
                                }
                }
 
                func setCommentModel(_ model:CommentModel){
        self.model = model
        img_userCover.sd_setImage(with: URL(string: model.avatar.jq_urlEncoded()))
                                label_content.text = model.content
                                label_userName.text = model.nickname
                                btn_belike.isSelected = model.like == .yes
                                label_datetime.text = model.publishTime
                }
 
    @objc func belike(_ button:UIButton){
        guard let m = model else {return}
        disposeBag = DisposeBag()
        Services.likeQuesiton(id: m.id).subscribe(onNext: {[weak self ] _ in
            self?.model?.like.troggle()
            self?.btn_belike.isSelected = self?.model?.like == .yes
        }).disposed(by: disposeBag!)
    }
 
                required init?(coder: NSCoder) {
                                fatalError("init(coder:) has not been implemented")
                }
                
}