// // SPHomeHotSearchCell.swift // Thimra // // Created by Overseas on 2025/4/22. // import UIKit class SPHomeHotSearchCell: SPTableViewCell { var model: SPShortModel? { didSet { coverImageView.sp_setImage(url: model?.image_url) titleLabel.text = model?.name desLabel.text = model?.sp_description } } //MARK: UI属性 private lazy var coverImageView: SPImageView = { let imageView = SPImageView() imageView.layer.cornerRadius = 6 imageView.layer.masksToBounds = true return imageView }() private lazy var titleLabel: UILabel = { let label = UILabel() label.font = .fontMedium(ofSize: 14) label.textColor = .colorFFFFFF() return label }() private lazy var desLabel: UILabel = { let label = UILabel() label.font = .fontRegular(ofSize: 12) label.textColor = .colorAFB8BF() label.numberOfLines = 2 return label }() override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) _setupUI() } @MainActor required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } } extension SPHomeHotSearchCell { private func _setupUI() { contentView.addSubview(coverImageView) contentView.addSubview(titleLabel) contentView.addSubview(desLabel) coverImageView.snp.makeConstraints { make in make.centerY.equalToSuperview() make.left.equalToSuperview().offset(12) make.width.equalTo(74) make.height.equalTo(100) } titleLabel.snp.makeConstraints { make in make.left.equalTo(coverImageView.snp.right).offset(12) make.right.lessThanOrEqualToSuperview().offset(-12) make.top.equalTo(coverImageView) } desLabel.snp.makeConstraints { make in make.left.equalTo(titleLabel) make.top.equalTo(titleLabel.snp.bottom).offset(5) make.right.lessThanOrEqualToSuperview().offset(-12) } } }