// // SPHomeHotCell.swift // ShortPlay // // Created by 曾觉新 on 2025/4/14. // import UIKit class SPHomeHotCell: SPCollectionViewCell { var model: SPShortModel? { didSet { coverImageView.sp_setImage(url: model?.image_url) titleLabel.text = model?.name desLabel.text = model?.sp_description } } private lazy var bgView: UIView = { let view = UIView() view.backgroundColor = .colorFFFFFF(alpha: 0.1) view.layer.cornerRadius = 12 view.layer.masksToBounds = true return view }() 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 = .fontLight(ofSize: 14) label.textColor = .colorFFFFFF(alpha: 0.9) label.numberOfLines = 2 return label }() private lazy var desLabel: UILabel = { let label = UILabel() label.font = .fontLight(ofSize: 14) label.textColor = .colorFFFFFF(alpha: 0.28) label.numberOfLines = 2 return label }() override init(frame: CGRect) { super.init(frame: frame) _setupUI() } @MainActor required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } } extension SPHomeHotCell { private func _setupUI() { contentView.addSubview(bgView) contentView.addSubview(coverImageView) contentView.addSubview(titleLabel) contentView.addSubview(desLabel) bgView.snp.makeConstraints { make in make.left.right.bottom.equalToSuperview() make.height.equalTo(116) } coverImageView.snp.makeConstraints { make in make.left.equalToSuperview().offset(15) make.top.equalToSuperview() make.width.equalTo(94) make.height.equalTo(124) } titleLabel.snp.makeConstraints { make in make.left.equalTo(coverImageView.snp.right).offset(13) make.top.equalTo(bgView).offset(10) make.right.lessThanOrEqualToSuperview().offset(-10) } desLabel.snp.makeConstraints { make in make.left.equalTo(titleLabel) make.bottom.equalTo(coverImageView) make.right.lessThanOrEqualToSuperview().offset(-10) } } }