|
@@ -5,15 +5,42 @@
|
|
|
// Created by 100Years on 2025/4/8.
|
|
|
//
|
|
|
|
|
|
-
|
|
|
+import Kingfisher
|
|
|
class TSAILIstCell: TSBaseCollectionCell {
|
|
|
|
|
|
static let cellID = "TSAILIstCell"
|
|
|
var itemModel:TSBasicItemModel = TSBasicItemModel(){
|
|
|
didSet{
|
|
|
- bgImageView.image = UIImage(named: itemModel.leftImageName ?? "")
|
|
|
+
|
|
|
+ if let imageNamed = itemModel.leftImageName{
|
|
|
+ if imageNamed.contains("gif") {
|
|
|
+
|
|
|
+ if let gifURL = Bundle.main.url(forResource: imageNamed, withExtension: nil) {
|
|
|
+ animatedImageView.kf.setImage(with: gifURL, options: [.cacheOriginalImage]) { result in
|
|
|
+ switch result {
|
|
|
+ case .success(let value):
|
|
|
+ print("GIF 加载成功: \(value.source.url?.absoluteString ?? "")")
|
|
|
+ case .failure(let error):
|
|
|
+ print("GIF 加载失败: \(error.localizedDescription)")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ kDelayMainShort {
|
|
|
+ self.animatedImageView.startAnimating()
|
|
|
+ }
|
|
|
+
|
|
|
+ animatedImageView.isHidden = false
|
|
|
+ shadowImageView.isHidden = false
|
|
|
+
|
|
|
+ }else{
|
|
|
+ animatedImageView.isHidden = true
|
|
|
+ shadowImageView.isHidden = true
|
|
|
+ bgImageView.image = UIImage(named: itemModel.leftImageName ?? "")
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
titleLab.text = itemModel.leftTitle
|
|
|
-// leftSubLab.text = itemModel.leftSubTitle
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -23,66 +50,43 @@ class TSAILIstCell: TSBaseCollectionCell {
|
|
|
return bgImageView
|
|
|
}()
|
|
|
|
|
|
+ lazy var animatedImageView: AnimatedImageView = {
|
|
|
+ let animatedImageView = AnimatedImageView()
|
|
|
+ animatedImageView.autoPlayAnimatedImage = false
|
|
|
+ animatedImageView.isHidden = true
|
|
|
+ return animatedImageView
|
|
|
+ }()
|
|
|
|
|
|
-// lazy var shadowImageView: UIImageView = {
|
|
|
-// let shadowImageView = UIImageView.createImageView(imageName: "alList_shadow",contentMode: .scaleToFill)
|
|
|
-// shadowImageView.alpha = 0.7
|
|
|
-// return shadowImageView
|
|
|
-// }()
|
|
|
+ lazy var shadowImageView: UIImageView = {
|
|
|
+ let shadowImageView = UIImageView.createImageView(imageName: "alList_shadow",contentMode: .scaleToFill)
|
|
|
+ shadowImageView.alpha = 0.8
|
|
|
+ shadowImageView.isHidden = true
|
|
|
+ return shadowImageView
|
|
|
+ }()
|
|
|
|
|
|
lazy var titleLab: UILabel = {
|
|
|
let titleLab = UILabel.createLabel(font: .font(size: 16,weight: .medium),textColor: .fromHex("FFFFFF"),numberOfLines: 0)
|
|
|
return titleLab
|
|
|
}()
|
|
|
|
|
|
-// lazy var leftSubLab: UILabel = {
|
|
|
-// return UILabel.createLabel(font: .font(size: 14),textColor: .white.withAlphaComponent(0.8),numberOfLines: 0)
|
|
|
-// }()
|
|
|
-
|
|
|
-// lazy var submitBtn: UIButton = {
|
|
|
-// let submitBtn = UIButton.createButton(title: "Try Now".localized,backgroundColor: .themeColor,font: .font(size: 12),titleColor: "#111111".uiColor)
|
|
|
-// submitBtn.contentEdgeInsets = UIEdgeInsets(top: 0, left: 12, bottom: 0, right: 12)
|
|
|
-// submitBtn.cornerRadius = 12
|
|
|
-// submitBtn.isUserInteractionEnabled = false
|
|
|
-// return submitBtn
|
|
|
-// }()
|
|
|
-
|
|
|
-
|
|
|
override func creatUI() {
|
|
|
bgContentView.clipsToBounds = true
|
|
|
bgContentView.addSubview(bgImageView)
|
|
|
bgImageView.snp.makeConstraints { make in
|
|
|
make.top.bottom.leading.trailing.equalTo(0)
|
|
|
}
|
|
|
+
|
|
|
+ bgContentView.addSubview(animatedImageView)
|
|
|
+ animatedImageView.snp.makeConstraints { make in
|
|
|
+ make.top.bottom.leading.trailing.equalTo(0)
|
|
|
+ }
|
|
|
|
|
|
-// bgContentView.addSubview(shadowImageView)
|
|
|
-// shadowImageView.snp.makeConstraints { make in
|
|
|
-// make.bottom.leading.trailing.equalTo(0)
|
|
|
-// make.height.equalTo(90*kDesignScale)
|
|
|
-// }
|
|
|
+ bgContentView.addSubview(shadowImageView)
|
|
|
+ shadowImageView.snp.makeConstraints { make in
|
|
|
+ make.bottom.leading.trailing.equalTo(0)
|
|
|
+ make.height.equalTo(90*kDesignScale)
|
|
|
+ }
|
|
|
|
|
|
-// bgContentView.addSubview(submitBtn)
|
|
|
-// submitBtn.snp.makeConstraints { make in
|
|
|
-// make.trailing.equalTo(-16)
|
|
|
-// make.bottom.equalTo(-27)
|
|
|
-// make.height.equalTo(24)
|
|
|
-// make.width.equalTo(submitBtn.intrinsicContentSize.width)
|
|
|
-// }
|
|
|
-
|
|
|
-// bgContentView.addSubview(leftSubLab)
|
|
|
-// leftSubLab.snp.makeConstraints { make in
|
|
|
-// make.trailing.equalTo(submitBtn.snp.leading).offset(-15)
|
|
|
-// make.leading.equalTo(16)
|
|
|
-// make.bottom.equalTo(-12)
|
|
|
-// }
|
|
|
-//
|
|
|
-// bgContentView.addSubview(titleLab)
|
|
|
-// titleLab.snp.makeConstraints { make in
|
|
|
-// make.trailing.equalTo(leftSubLab.snp.trailing)
|
|
|
-// make.leading.equalTo(leftSubLab.snp.leading)
|
|
|
-// make.bottom.equalTo(leftSubLab.snp.top).offset(-8)
|
|
|
-// }
|
|
|
-
|
|
|
bgContentView.addSubview(titleLab)
|
|
|
titleLab.snp.makeConstraints { make in
|
|
|
make.trailing.equalTo(14)
|