111 lines
4.1 KiB
Swift
111 lines
4.1 KiB
Swift
//
|
||
// MPPositive_MusicItemShowTableViewCell.swift
|
||
// MusicPlayer
|
||
//
|
||
// Created by Mr.Zhou on 2024/4/29.
|
||
//
|
||
|
||
import UIKit
|
||
///b面单曲音乐展示Cell
|
||
class MPPositive_MusicItemShowTableViewCell: UITableViewCell {
|
||
///封面图片
|
||
private lazy var coverImageView:UIImageView = {
|
||
let imageView:UIImageView = .init()
|
||
imageView.contentMode = .scaleAspectFill
|
||
imageView.layer.masksToBounds = true
|
||
imageView.layer.cornerRadius = 10*width
|
||
return imageView
|
||
}()
|
||
///标题
|
||
private lazy var titleLabel:UILabel = createLabel(font: .systemFont(ofSize: 14*width, weight: .regular), textColor: .white, textAlignment: .left)
|
||
///副标题
|
||
private lazy var subtitleLabel:UILabel = createLabel(font: .systemFont(ofSize: 12*width, weight: .regular), textColor: .init(hex: "#FFFFFF", alpha: 0.6), textAlignment: .left)
|
||
///更多按钮
|
||
private lazy var moreBtn:UIButton = {
|
||
let btn:UIButton = .init()
|
||
btn.setBackgroundImage(UIImage(named: "Song_More'logo"), for: .normal)
|
||
btn.addTarget(self, action: #selector(moreActionClick(_ :)), for: .touchUpInside)
|
||
return btn
|
||
}()
|
||
///下载状态按钮
|
||
// private lazy var loadBtn:UIButton = {
|
||
// let btn:UIButton = .init()
|
||
// btn.setBackgroundImage(UIImage(named: "Song_Unload'logo"), for: .normal)
|
||
// btn.setBackgroundImage(UIImage(named: "Song_Loaded'logo"), for: .selected)
|
||
// btn.addTarget(self, action: #selector(loadActionClick(_ :)), for: .touchUpInside)
|
||
// return btn
|
||
// }()
|
||
//音乐实体
|
||
var itemView:MPPositive_BrowseItemViewModel!{
|
||
didSet{
|
||
itemView.setUrltoImage(coverImageView)
|
||
titleLabel.text = itemView.title
|
||
subtitleLabel.text = itemView.subtitle
|
||
//判断是否下载过
|
||
|
||
}
|
||
}
|
||
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
|
||
super.init(style: style, reuseIdentifier: reuseIdentifier)
|
||
selectionStyle = .none
|
||
backgroundColor = .clear
|
||
contentView.backgroundColor = .clear
|
||
configure()
|
||
}
|
||
|
||
required init?(coder: NSCoder) {
|
||
super.init(coder: coder)
|
||
}
|
||
override func awakeFromNib() {
|
||
super.awakeFromNib()
|
||
// Initialization code
|
||
}
|
||
|
||
override func setSelected(_ selected: Bool, animated: Bool) {
|
||
super.setSelected(selected, animated: animated)
|
||
|
||
// Configure the view for the selected state
|
||
}
|
||
private func configure() {
|
||
contentView.addSubview(coverImageView)
|
||
//设置封面图片,同时撑开cell
|
||
coverImageView.snp.makeConstraints { make in
|
||
make.width.height.equalTo(60*width)
|
||
make.left.equalToSuperview().offset(18*width)
|
||
make.top.equalToSuperview().offset(8*width).priority(999)
|
||
make.bottom.equalToSuperview().offset(-8*width).priority(999)
|
||
}
|
||
contentView.addSubview(moreBtn)
|
||
moreBtn.snp.makeConstraints { make in
|
||
make.width.height.equalTo(24*width)
|
||
make.centerY.equalTo(coverImageView.snp.centerY)
|
||
make.right.equalToSuperview().offset(-18*width)
|
||
}
|
||
// contentView.addSubview(loadBtn)
|
||
// loadBtn.snp.makeConstraints { make in
|
||
// make.width.height.equalTo(24*width)
|
||
// make.centerY.equalTo(coverImageView.snp.centerY)
|
||
// make.right.equalToSuperview().offset(-54*width)
|
||
// }
|
||
contentView.addSubview(titleLabel)
|
||
titleLabel.snp.makeConstraints { make in
|
||
make.top.equalTo(coverImageView.snp.top).offset(10*width)
|
||
make.left.equalTo(coverImageView.snp.right).offset(12*width)
|
||
make.right.equalTo(moreBtn.snp.left).offset(-12*width)
|
||
}
|
||
contentView.addSubview(subtitleLabel)
|
||
subtitleLabel.snp.makeConstraints { make in
|
||
make.bottom.equalTo(coverImageView.snp.bottom).offset(-10*width)
|
||
make.left.right.equalTo(titleLabel)
|
||
}
|
||
}
|
||
//点击更多
|
||
@objc private func moreActionClick(_ sender:UIButton) {
|
||
|
||
}
|
||
//点击下载
|
||
@objc private func loadActionClick(_ sender:UIButton) {
|
||
|
||
}
|
||
}
|