MoviaBox/Thimra/Class/Home/View/SPHomeZoomBannerCell.swift
2025-04-22 15:21:12 +08:00

87 lines
2.2 KiB
Swift

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