SynthReel/SynthReel/Class/Home/V/SRHomeYouLikeCell.swift
2025-11-20 16:59:32 +08:00

121 lines
3.4 KiB
Swift

//
// SRHomeYouLikeCell.swift
// SynthReel
//
// Created by on 2025/11/15.
// Copyright © 2025 SR. All rights reserved.
//
import UIKit
import SnapKit
class SRHomeYouLikeCell: UICollectionViewCell {
var model: SRShortModel? {
didSet {
coverImageView.sr_setImage(model?.image_url)
titleLabel.text = model?.name
desLabel.text = model?.sr_description
}
}
lazy var bgView: UIView = UIImageView(image: UIImage(named: "cell_bg_image_01"))
lazy var coverBgView: UIView = {
let view = UIView()
view.layer.cornerRadius = 34
view.layer.masksToBounds = true
view.layer.borderWidth = 0.7
view.layer.borderColor = UIColor._4_CFFD_4.withAlphaComponent(0.25).cgColor
return view
}()
lazy var coverBorderView: SRGradientView = {
let view = SRGradientView()
view.layer.cornerRadius = 31
view.layer.masksToBounds = true
view.colors = [UIColor._4_CFFD_4.cgColor, UIColor._51_D_4_FF.cgColor]
view.startPoint = .init(x: 0, y: 0)
view.endPoint = .init(x: 1, y: 1)
return view
}()
lazy var coverImageView: SRImageView = {
let imageView = SRImageView()
imageView.layer.cornerRadius = 30.25
imageView.layer.masksToBounds = true
return imageView
}()
lazy var titleLabel: UILabel = {
let label = UILabel()
label.font = .font(ofSize: 14, weight: .medium)
label.textColor = .white
return label
}()
lazy var desLabel: UILabel = {
let label = UILabel()
label.font = .font(ofSize: 11, weight: .regular)
label.textColor = .A_6_A_6_A_6
label.numberOfLines = 2
return label
}()
override init(frame: CGRect) {
super.init(frame: frame)
sr_setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
extension SRHomeYouLikeCell {
private func sr_setupUI() {
contentView.addSubview(bgView)
bgView.addSubview(coverBgView)
coverBgView.addSubview(coverBorderView)
coverBgView.addSubview(coverImageView)
bgView.addSubview(titleLabel)
bgView.addSubview(desLabel)
bgView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
coverBgView.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.left.equalToSuperview().offset(8)
make.width.height.equalTo(68)
}
coverBorderView.snp.makeConstraints { make in
make.center.equalToSuperview()
make.width.height.equalTo(62)
}
coverImageView.snp.makeConstraints { make in
make.center.equalToSuperview()
make.width.height.equalTo(60.5)
}
titleLabel.snp.makeConstraints { make in
make.left.equalTo(coverBgView.snp.right).offset(9)
make.top.equalToSuperview().offset(17)
make.right.lessThanOrEqualToSuperview().offset(-12)
}
desLabel.snp.makeConstraints { make in
make.left.equalTo(titleLabel)
make.top.equalTo(titleLabel.snp.bottom).offset(11)
make.right.lessThanOrEqualToSuperview().offset(-12)
}
}
}