TSRingToneCellView.swift 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. //
  2. // TSRingToneCellView.swift
  3. // AIRingtone
  4. //
  5. // Created by 100Years on 2025/3/3.
  6. //
  7. class TSRingToneCellView: TSBaseView {
  8. var clickPlayHandel:((Bool)->Void)?
  9. let coverImageView:UIImageView = UIImageView()
  10. let playBtn = UIButton.createButton(image: UIImage(named: "ringtone_play"))
  11. let nameLab = UILabel.createLabel(text: "--",font: .font(size: 14),textColor: .white)
  12. let timeLab = UILabel.createLabel(text:"--:--",font: .font(size: 12),textColor: .white.withAlphaComponent(0.6))
  13. lazy var clearBtn = UIButton.createButton{[weak self] in
  14. guard let self = self else { return }
  15. clickPlayHandel?(self.isPlay)
  16. }
  17. var isPlay:Bool = false {
  18. didSet{
  19. playBtn.stopRotating()
  20. playBtn.setImage(UIImage(named: isPlay ? "ringtone_pause" : "ringtone_play"), for: .normal)
  21. }
  22. }
  23. var isloading:Bool = false {
  24. didSet{
  25. if isloading {
  26. playBtn.setImage(UIImage(named:"ringtone_loading"), for: .normal)
  27. playBtn.startRotating()
  28. }else{
  29. let b = isPlay
  30. isPlay = b
  31. playBtn.stopRotating()
  32. }
  33. }
  34. }
  35. override func creatUI() {
  36. backgroundColor = .cardColor
  37. cornerRadius = 16
  38. coverImageView.cornerRadius = 8
  39. coverImageView.backgroundColor = .black
  40. contentView.addSubview(coverImageView)
  41. coverImageView.addSubview(playBtn)
  42. contentView.addSubview(nameLab)
  43. contentView.addSubview(timeLab)
  44. playBtn.snp.makeConstraints { make in
  45. make.center.equalToSuperview()
  46. make.width.height.equalTo(24)
  47. }
  48. coverImageView.snp.makeConstraints { make in
  49. make.leading.equalTo(12)
  50. make.centerY.equalToSuperview()
  51. make.width.height.equalTo(48)
  52. }
  53. nameLab.snp.makeConstraints { make in
  54. make.leading.equalTo(76)
  55. make.trailing.equalTo(-60)
  56. make.top.equalTo(17)
  57. }
  58. timeLab.snp.makeConstraints { make in
  59. make.leading.equalTo(76)
  60. make.bottom.equalTo(-17)
  61. make.height.equalTo(12)
  62. }
  63. // clearBtn.backgroundColor = .yellow.withAlphaComponent(0.2)
  64. contentView.addSubview(clearBtn)
  65. clearBtn.snp.makeConstraints { make in
  66. make.leading.top.bottom.equalToSuperview()
  67. // make.width.equalTo(72)
  68. make.trailing.equalTo(0)
  69. }
  70. }
  71. func setCoverImageView(urlString:String){
  72. coverImageView.setAsyncImage(urlString: urlString,placeholder:kRingPlaceholderImage,contentMode: .scaleAspectFill,showLoading: false)
  73. }
  74. }