//
|
// 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")
|
}
|
|
}
|