BeeReel/BeeReel/Class/Home/View/Top10/BRHomeTop3Cell.swift
2025-07-24 14:21:59 +08:00

120 lines
3.3 KiB
Swift

//
// BRHomeTop3Cell.swift
// BeeReel
//
// Created by 鸿 on 2025/6/30.
//
import UIKit
class BRHomeTop3Cell: BRCollectionViewCell {
var model: BRShortModel? {
didSet {
if num == 1 {
coverImageView.br_setImage(url: model?.image_url)
} else {
if let image = model?.horizontally_img, !image.isEmpty {
coverImageView.br_setImage(url: image)
} else {
coverImageView.br_setImage(url: model?.image_url)
}
}
}
}
var num: Int = 0 {
didSet {
numLabel.text = "NO.\(num)"
if num == 1 {
coverImageView.snp.updateConstraints { make in
make.top.equalToSuperview().offset(32)
}
} else {
coverImageView.snp.updateConstraints { make in
make.top.equalToSuperview().offset(28)
}
}
}
}
private lazy var coverImageView: BRImageView = {
let imageView = BRImageView()
imageView.layer.cornerRadius = 8
imageView.layer.masksToBounds = true
return imageView
}()
private lazy var numLabel: UILabel = {
let label = UILabel()
label.font = .fontMedium(ofSize: 14)
label.textColor = .colorE3FC37()
return label
}()
private lazy var numIconImageView: UIImageView = {
let imageView = UIImageView(image: UIImage(named: "num_icon_01"))
return imageView
}()
private lazy var dotView: UIView = {
let view = UIView()
view.backgroundColor = .colorE3FC37()
view.layer.cornerRadius = 3
view.layer.masksToBounds = true
return view
}()
override init(frame: CGRect) {
super.init(frame: frame)
self.contentView.backgroundColor = .color1C1C1C()
self.contentView.layer.cornerRadius = 12
self.contentView.layer.masksToBounds = true
br_setupUI()
}
@MainActor required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
extension BRHomeTop3Cell {
private func br_setupUI() {
contentView.addSubview(coverImageView)
contentView.addSubview(dotView)
contentView.addSubview(numLabel)
contentView.addSubview(numIconImageView)
coverImageView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(5)
make.centerX.equalToSuperview()
make.bottom.equalToSuperview().offset(-5)
make.top.equalToSuperview().offset(32)
}
dotView.snp.makeConstraints { make in
make.right.equalToSuperview().offset(-5)
make.top.equalToSuperview().offset(12)
make.width.height.equalTo(6)
}
numLabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(5)
make.centerY.equalTo(dotView)
}
numIconImageView.snp.makeConstraints { make in
make.centerY.equalTo(numLabel)
make.left.equalTo(numLabel.snp.right).offset(10)
}
}
}