// // SPVideoPlayerInfoView.swift // Thimra // // Created by 曾觉新 on 2025/4/17. // import UIKit class SPVideoPlayerInfoView: UIView { var shortModel: SPShortModel? { didSet { coverImageView.sp_setImage(url: shortModel?.image_url) titleLabel.text = shortModel?.name desLabel.text = shortModel?.sp_description } } override var intrinsicContentSize: CGSize { return CGSize(width: 200, height: 68) } //MARK: UI属性 private lazy var coverImageView: SPImageView = { let imageView = SPImageView() imageView.layer.cornerRadius = 4 imageView.layer.masksToBounds = true imageView.layer.borderWidth = 1 imageView.layer.borderColor = UIColor.colorFFFFFF(alpha: 0.26).cgColor return imageView }() private lazy var titleLabel: UILabel = { let label = UILabel() label.font = .fontMedium(ofSize: 14) label.textColor = .colorFFFFFF() return label }() private lazy var desLabel: UILabel = { let label = UILabel() label.font = .fontRegular(ofSize: 12) label.textColor = .colorA8A5AA() return label }() override init(frame: CGRect) { super.init(frame: frame) _setupUI() } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } @objc private func handleMoreButton() { let vc = SPPlayerDetailViewController() vc.shortPlayId = shortModel?.short_play_id self.viewController?.navigationController?.pushViewController(vc, animated: true) } } extension SPVideoPlayerInfoView { private func _setupUI() { addSubview(coverImageView) addSubview(titleLabel) addSubview(desLabel) coverImageView.snp.makeConstraints { make in make.left.top.bottom.equalToSuperview() make.width.equalTo(46) make.height.equalTo(68) } titleLabel.snp.makeConstraints { make in make.left.equalTo(coverImageView.snp.right).offset(10) make.top.equalToSuperview().offset(16) make.right.lessThanOrEqualToSuperview() make.width.lessThanOrEqualTo(145) } desLabel.snp.makeConstraints { make in make.left.equalTo(titleLabel) make.top.equalTo(titleLabel.snp.bottom).offset(8) make.right.lessThanOrEqualToSuperview() make.width.lessThanOrEqualTo(145) } } }