MoviaBox/ShortPlay/Class/Explore/View/SPVideoPlayerInfoView.swift
2025-04-17 15:40:53 +08:00

113 lines
3.3 KiB
Swift

//
// SPVideoPlayerInfoView.swift
// ShortPlay
//
// 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
}
}
//MARK: UI
private lazy var bgView: UIView = {
let view = UIView()
view.layer.cornerRadius = 5
view.layer.masksToBounds = true
view.backgroundColor = .color000000(alpha: 0.27)
return view
}()
private lazy var coverImageView: SPImageView = {
let imageView = SPImageView()
imageView.layer.cornerRadius = 5
imageView.layer.masksToBounds = true
return imageView
}()
private lazy var titleLabel: UILabel = {
let label = UILabel()
label.font = .fontRegular(ofSize: 13)
label.textColor = .colorFFFFFF()
return label
}()
private lazy var moreButton: JXButton = {
let button = JXButton(type: .custom)
button.colors = [UIColor.colorF56490().cgColor, UIColor.colorD568D2().cgColor]
button.startPoint = .init(x: 0, y: 0.5)
button.endPoint = .init(x: 1, y: 0.5)
button.locations = [0, 1]
button.setImage(UIImage(named: "play_icon_02"), for: .normal)
button.setTitle("Series".localized, for: .normal)
button.setTitleColor(.colorFFFFFF(), for: .normal)
button.jx_font = .fontRegular(ofSize: 11)
button.layer.cornerRadius = 10.5
button.layer.masksToBounds = true
button.space = 2
button.addTarget(self, action: #selector(handleMoreButton), for: .touchUpInside)
return button
}()
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(bgView)
addSubview(coverImageView)
addSubview(titleLabel)
addSubview(moreButton)
bgView.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.width.equalTo(240)
make.height.equalTo(54)
}
coverImageView.snp.makeConstraints { make in
make.left.bottom.top.equalToSuperview()
make.width.equalTo(49)
make.height.equalTo(66)
}
titleLabel.snp.makeConstraints { make in
make.left.equalTo(coverImageView.snp.right).offset(10)
make.top.equalTo(bgView).offset(5)
make.right.lessThanOrEqualToSuperview().offset(-18)
}
moreButton.snp.makeConstraints { make in
make.left.equalTo(coverImageView.snp.right).offset(10)
make.bottom.equalToSuperview().offset(-5)
make.width.equalTo(59)
make.height.equalTo(21)
}
}
}