87 lines
2.3 KiB
Swift
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)
|
|
}
|
|
|
|
}
|
|
|
|
}
|