SynthReel/SynthReel/Class/Home/V/SRHomeViralHitsCell.swift
2025-12-10 10:23:22 +08:00

87 lines
2.3 KiB
Swift

//
// SRHomeViralHitsCell.swift
// SynthReel
//
// Created by on 2025/11/17.
// Copyright © 2025 SR. All rights reserved.
//
import UIKit
import SnapKit
class SRHomeViralHitsCell: UICollectionViewCell {
var model: SRShortModel? {
didSet {
coverImageView.sr_setImage(model?.image_url)
titleLabel.text = model?.name
hotView.count = model?.watch_total ?? 0
}
}
lazy var bgImageView = UIImageView(image: UIImage(named: "home_viral_hits_cell_image"))
lazy var coverImageView: SRImageView = {
let imageView = SRImageView()
imageView.layer.cornerRadius = 2
imageView.layer.masksToBounds = true
return imageView
}()
lazy var titleLabel: UILabel = {
let label = UILabel()
label.font = .font(ofSize: 12, weight: .medium)
label.textColor = .white
return label
}()
lazy var hotView: SRHomeHotView = {
let view = SRHomeHotView()
return view
}()
override init(frame: CGRect) {
super.init(frame: frame)
sr_setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
extension SRHomeViralHitsCell {
private func sr_setupUI() {
contentView.addSubview(bgImageView)
contentView.addSubview(coverImageView)
coverImageView.addSubview(hotView)
contentView.addSubview(titleLabel)
bgImageView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
coverImageView.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.left.equalToSuperview().offset(13)
make.top.equalToSuperview().offset(21)
make.height.equalTo(180)
}
hotView.snp.makeConstraints { make in
make.right.equalToSuperview().offset(-5)
make.top.equalToSuperview().offset(4)
}
titleLabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(13)
make.right.lessThanOrEqualToSuperview().offset(-13)
make.top.equalTo(coverImageView.snp.bottom).offset(4)
}
}
}