// // MPPositive_SearchResultShowTableViewCell.swift // MusicPlayer // // Created by Mr.Zhou on 2024/5/13. // import UIKit class MPPositive_SearchResultShowTableViewCell: UITableViewCell { //特殊图片(展示预览图片) private lazy var iconImageView:UIImageView = { let imageView:UIImageView = .init() imageView.contentMode = .scaleAspectFill imageView.layer.masksToBounds = true 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_SearchResultItemViewModel!{ didSet{ itemView.setImage(iconImageView) titleLabel.text = itemView.title subtitleLabel.text = itemView.subtitle //检索类型 if itemView.item.itemType == .single { moreBtn.isHidden = false // loadBtn.isHidden = false }else { moreBtn.isHidden = true // loadBtn.isHidden = true } } } var songViewModel:MPPositive_CollectionSongViewModel!{ didSet{ songViewModel.setImage(iconImageView) titleLabel.text = songViewModel.title subtitleLabel.text = songViewModel.subtitle } } var loadViewModel:MPPositive_DownloadViewModel!{ didSet{ loadViewModel.setImage(iconImageView) titleLabel.text = loadViewModel.title subtitleLabel.text = loadViewModel.subtitle } } var moreBlock:(() -> Void)? override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) selectionStyle = .none 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(iconImageView) iconImageView.snp.makeConstraints { make in make.width.height.equalTo(60*width) make.top.equalToSuperview().offset(8*width).priority(999) make.bottom.equalToSuperview().offset(-8*width) make.left.equalToSuperview().offset(18*width) } contentView.addSubview(moreBtn) moreBtn.snp.makeConstraints { make in make.width.height.equalTo(24*width) make.centerY.equalTo(iconImageView.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(iconImageView.snp.centerY) // make.right.equalToSuperview().offset(-54*width) // } contentView.addSubview(titleLabel) titleLabel.snp.makeConstraints { make in make.top.equalTo(iconImageView.snp.top).offset(10*width) make.left.equalTo(iconImageView.snp.right).offset(12*width) make.right.equalTo(moreBtn.snp.left).offset(-10*width) } contentView.addSubview(subtitleLabel) subtitleLabel.snp.makeConstraints { make in make.bottom.equalTo(iconImageView.snp.bottom).offset(-10*width) make.left.equalTo(titleLabel.snp.left) make.right.equalTo(titleLabel.snp.right) } } //点击更多 @objc private func moreActionClick(_ sender:UIButton) { if moreBlock != nil { moreBlock!() } } //点击下载 @objc private func loadActionClick(_ sender:UIButton) { } }