1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- //
- // MVMineProductCell.swift
- // MusicVideoPlus
- //
- // Created by SanW on 2021/6/22.
- //
- import BFFramework
- import UIKit
- class MVMineProductCell: UICollectionViewCell {
- var btnClickHandle: ((_ sender: UIButton, _ videoData: PQVideoListModel?) -> Void)?
- lazy var coverImageView: UIImageView = {
- let coverImageView = UIImageView()
- coverImageView.contentMode = .scaleAspectFill
- coverImageView.clipsToBounds = true
- coverImageView.isUserInteractionEnabled = true
- coverImageView.tag = cCellTag
- coverImageView.backgroundColor = UIColor.white
- return coverImageView
- }()
- lazy var moreBtn: UIButton = {
- let moreBtn = UIButton(type: .custom)
- moreBtn.setImage(UIImage(named: "video_pause"), for: .selected)
- moreBtn.setImage(nil, for: .normal)
- moreBtn.tag = 1
- moreBtn.addTarget(self, action: #selector(btnClick(sender:)), for: .touchUpInside)
- return moreBtn
- }()
- lazy var titleLabel: UILabel = {
- let titleLabel = UILabel()
- titleLabel.textAlignment = .left
- titleLabel.textColor = .white
- titleLabel.numberOfLines = 1
- titleLabel.lineBreakMode = .byCharWrapping
- titleLabel.font = UIFont.systemFont(ofSize: 16, weight: .bold)
- return titleLabel
- }()
- override init(frame: CGRect) {
- super.init(frame: frame)
- contentView.addSubview(coverImageView)
- contentView.addSubview(moreBtn)
- contentView.addSubview(titleLabel)
- }
- required init?(coder _: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
- @objc class func productCell(collectionView: UICollectionView, indexPath: IndexPath) -> MVMineProductCell {
- let cell: MVMineProductCell = collectionView.dequeueReusableCell(withReuseIdentifier: String(describing: MVMineProductCell.self), for: indexPath) as! MVMineProductCell
- return cell
- }
- var videoData: PQVideoListModel? {
- didSet {
- addData()
- addLayout()
- }
- }
- func addData() {
- let coverImg = (videoData?.videoCoverSnapshotPath != nil && (videoData?.videoCoverSnapshotPath?.count ?? 0) > 0) ? videoData?.videoCoverSnapshotPath ?? "" : videoData?.coverImg?["coverImgPath"] as! String
- netImage(url: coverImg, mainView: coverImageView)
- titleLabel.text = videoData?.title ?? ""
- }
- func addLayout() {
- let margin: CGFloat = 12
- let moreH: CGFloat = 56
- coverImageView.snp.remakeConstraints { make in
- make.size.equalToSuperview()
- }
- moreBtn.snp.remakeConstraints { make in
- make.width.height.equalTo(moreH)
- make.bottom.right.equalToSuperview()
- }
- titleLabel.snp.remakeConstraints { make in
- make.width.height.equalTo(moreH)
- make.centerY.equalTo(moreBtn)
- make.left.equalToSuperview().offset(margin)
- make.right.equalTo(moreBtn.snp_left).offset(-margin)
- }
- }
- @objc func btnClick(sender: UIButton) {
- if btnClickHandle != nil {
- btnClickHandle!(sender, videoData)
- }
- }
- }
|