123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- //
- // PublishNewMusicListViewTableViewCell.swift
- // RainbowPlanet
- //
- // Created by 南鑫林 on 2019/10/24.
- // Copyright © 2019 RainbowPlanet. All rights reserved.
- //
- import UIKit
- import RxSwift
- class PublishNewMusicListViewTableViewCell: UITableViewCell {
-
- let disposeBag = DisposeBag()
- class func cellWith(tableView:UITableView,indexPath:IndexPath) -> PublishNewMusicListViewTableViewCell {
- let ID = "PublishNewMusicListViewTableViewCell"
- tableView.register(PublishNewMusicListViewTableViewCell.self, forCellReuseIdentifier: ID)
- let cell : PublishNewMusicListViewTableViewCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! PublishNewMusicListViewTableViewCell
- cell.indexPath = indexPath
- return cell
- }
-
- override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
- super.init(style: style, reuseIdentifier: reuseIdentifier)
- setupViews()
- setupLayouts()
- setupData()
- }
-
- required init?(coder aDecoder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
- var indexPath: IndexPath?
-
- //MRAK: - 设置View
- private func setupViews() {
- self.selectionStyle = .none
- backgroundColor = UIColor.clear
-
- addSubview(iconImageView)
- addSubview(activityIndicatorView)
- addSubview(titleLabel)
- addSubview(playImageView)
- addSubview(useButton)
- }
-
- private func setupLayouts() {
- iconImageView.snp.makeConstraints { (make) in
- make.left.equalTo(14)
- make.centerY.equalToSuperview()
- make.size.equalTo(18)
- }
-
- activityIndicatorView.snp.makeConstraints { (make) in
- make.left.equalTo(14)
- make.centerY.equalToSuperview()
- make.size.equalTo(18)
- }
-
- titleLabel.snp.makeConstraints { (make) in
- make.left.equalTo(iconImageView.snp.right).offset(8)
- make.centerY.equalToSuperview()
- make.height.equalTo(20)
- make.right.equalTo(-14)
- }
-
- useButton.snp.makeConstraints { (make) in
- make.right.equalTo(-14)
- make.centerY.equalToSuperview()
- make.width.equalTo(64)
- make.height.equalTo(26)
- }
-
- playImageView.snp.makeConstraints { (make) in
- make.centerX.equalTo(useButton)
- make.centerY.equalToSuperview()
- }
-
- }
-
- typealias UseClosure = () -> Void
- var useClosure : UseClosure?
-
- func setupData() {
- useButton.rx.tap.subscribe(onNext: { [weak self] in
- if let useClosure = self?.useClosure {
- useClosure()
- }
- }).disposed(by: disposeBag)
- }
-
- lazy var iconImageView: UIImageView = {
- let iconImageView = UIImageView()
- iconImageView.image = kImage(name: "music_btn_play")
- return iconImageView
- }()
-
- lazy var activityIndicatorView: UIActivityIndicatorView = {
- let activityIndicatorView = UIActivityIndicatorView(style: UIActivityIndicatorView.Style.white)
- return activityIndicatorView
- }()
-
- private lazy var titleLabel: UILabel = {
- let titleLabel = UILabel()
- titleLabel.textColor = kffffffColor
- titleLabel.font = kMediumFont14
- titleLabel.textAlignment = .left
- return titleLabel
- }()
-
- lazy var playImageView: UIImageView = {
- let playImageView = UIImageView()
- playImageView.image = kImage(name: "music_ico_selected")
- playImageView.isHidden = true
- return playImageView
- }()
-
-
- lazy var useButton: UIButton = {
- let useButton = UIButton(type: UIButton.ButtonType.custom)
- useButton.setTitle("使用", for: UIControl.State.normal)
- useButton.titleLabel?.font = kRegularFont13
- useButton.setBackgroundImage(UIImage.imageWithColor(color: kThemeColor), for: UIControl.State.normal)
- useButton.setTitleColor(UIColor.white, for: UIControl.State.normal)
- useButton.layer.cornerRadius = 13
- useButton.layer.masksToBounds = true
- useButton.isHidden = true
- return useButton
- }()
-
- override var isSelected: Bool {
- didSet{
- communityMusicItemModel?.isSelected = isSelected
- if isSelected {
- useButton.isHidden = false
- iconImageView.image = kImage(name: "music_btn_pause")
- }else {
- useButton.isHidden = true
- iconImageView.image = kImage(name: "music_btn_play")
- }
- }
- }
-
- var communityMusicItemModel : CommunityMusicItemModel? {
- didSet {
- titleLabel.text = communityMusicItemModel?.name
- }
- }
-
- }
|