121 lines
3.4 KiB
Swift
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)
|
|
}
|
|
}
|
|
|
|
}
|