// // SPHomeZoomBannerCell.swift // Thimra // // Created by Overseas on 2025/4/22. // import UIKit class SPHomeZoomBannerCell: SPCollectionViewCell { var model: SPShortModel? { didSet { coverImageView.sp_setImage(url: model?.image_url) titleLabel.text = model?.name } } private lazy var coverImageView: SPImageView = { let imageView = SPImageView() return imageView }() private lazy var iconImageView: UIImageView = { let imageView = UIImageView(image: UIImage(named: "new_icon_01")) return imageView }() private lazy var bottomView: UIView = { let view = UIView() view.addEffectView(style: .light) return view }() private lazy var titleLabel: UILabel = { let label = UILabel() label.font = .fontRegular(ofSize: 16) label.textColor = .colorFFFFFF() label.numberOfLines = 2 return label }() override init(frame: CGRect) { super.init(frame: frame) contentView.layer.cornerRadius = 8 contentView.layer.masksToBounds = true _setupUI() } @MainActor required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } } extension SPHomeZoomBannerCell { private func _setupUI() { contentView.addSubview(coverImageView) coverImageView.addSubview(iconImageView) coverImageView.addSubview(bottomView) bottomView.addSubview(titleLabel) coverImageView.snp.makeConstraints { make in make.edges.equalToSuperview() } iconImageView.snp.makeConstraints { make in make.left.equalToSuperview().offset(12) make.top.equalToSuperview().offset(12) } bottomView.snp.makeConstraints { make in make.left.right.bottom.equalToSuperview() make.height.equalTo(72) } titleLabel.snp.makeConstraints { make in make.left.equalToSuperview().offset(15) make.right.lessThanOrEqualToSuperview().offset(-15) make.centerY.equalToSuperview() } } }