123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- //
- // TSGennerateCellView.swift
- // TSLiveWallpaper
- //
- // Created by 100Years on 2025/6/16.
- //
- class TSGennerateCellView: TSBaseView {
-
- var refreshHandel:(()->Void)?
- var longPressHandel:(()->Void)?
- lazy var infoLabel: UILabel = {
- let infoLabel = UILabel.createLabel(font: .font(size: 12),textColor: .themeColor,textAlignment: .center,numberOfLines: 0)
- return infoLabel
- }()
-
- lazy var refreshBtn: TSUIExpandedTouchButton = {
- let refreshBtn = TSUIExpandedTouchButton()
- refreshBtn.setUpButton(image: UIImage(named: "refresh_white"))
- {[weak self] in
- guard let self = self else { return }
- refreshHandel?()
- }
- refreshBtn.isHidden = true
- return refreshBtn
- }()
-
-
- var titleTop:CGFloat = 86.0 {
- didSet{
- infoLabel.snp.updateConstraints { make in
- make.top.equalTo(titleTop)
- }
- }
- }
-
- override func creatUI() {
- backgroundColor = "#1D1812".uiColor
- contentView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(clickContentView)))
-
- let longPressRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(handleLongPress(_:)))
- longPressRecognizer.minimumPressDuration = 0.5 // 设置最小长按时间(秒)
- contentView.addGestureRecognizer(longPressRecognizer)
-
-
- contentView.addSubview(infoLabel)
- infoLabel.snp.makeConstraints { make in
- // make.top.equalTo(titleTop)
- make.leading.equalTo(8)
- make.trailing.equalTo(-8)
- make.centerY.equalToSuperview().offset(0)
- }
-
- contentView.addSubview(refreshBtn)
- refreshBtn.snp.makeConstraints { make in
- make.centerX.equalToSuperview()
- make.top.equalTo(infoLabel.snp.bottom).offset(8)
- make.width.height.equalTo(24)
- }
-
- }
-
- func updateInfoLabelCenterY() {
- infoLabel.snp.updateConstraints { make in
- make.centerY.equalToSuperview().offset(refreshBtn.isHidden ? 0 : -14.0)
- }
- }
-
- private var isCanClick:Bool = false
-
- @objc func clickContentView() {
- if isCanClick{
- refreshHandel?()
- }
- }
-
- @objc func handleLongPress(_ gestureRecognizer: UILongPressGestureRecognizer) {
- // 确保只在手势开始时触发一次
- guard gestureRecognizer.state == .began else { return }
- longPressHandel?()
- }
-
- func setProgress(progress:Float) {
- refreshBtn.isHidden = true
- isCanClick = false
- let progressInt = Int(progress*100)
- infoLabel.text = "Processing you photo".localized + "..." + "\n\n\(progressInt)%"
- infoLabel.textColor = .themeColor
- updateInfoLabelCenterY()
- }
-
-
- func setTaskExpired(){
- isCanClick = true
- setProgress(progress: 0.0)
- infoLabel.text = "This task has expired".localized
- infoLabel.textColor = .white
- refreshBtn.isHidden = false
- isCanClick = true
- refreshBtn.setImage(UIImage(named: "ai_delete"), for: .normal)
-
- updateInfoLabelCenterY()
- }
- func setFailText(text:String,refresh:Bool = true){
- setProgress(progress: 0.0)
- infoLabel.text = text
- infoLabel.textColor = .white
-
- if refresh {
- refreshBtn.isHidden = false
- refreshBtn.setImage(UIImage(named: "refresh_white"), for: .normal)
- }else{
- refreshBtn.isHidden = true
- }
- isCanClick = true
- updateInfoLabelCenterY()
- }
- }
|