108 lines
3.0 KiB
Swift
Executable File
108 lines
3.0 KiB
Swift
Executable File
//
|
|
// IMGiftContentView.swift
|
|
// LegendTeam
|
|
//
|
|
// Created by liangbo on 2022/3/2.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
class IMGiftContentConfig: IMContentBaseConfig {
|
|
override func contentSize(model: SessionBaseModel) -> CGSize {
|
|
return CGSize(width:SessionBaseModel.maxBubbleContentWidth , height: 72)
|
|
}
|
|
|
|
override func cellInsets(model: SessionBaseModel) -> UIEdgeInsets {
|
|
return UIEdgeInsets(top: 1, left: 16, bottom: 8, right: 16)
|
|
}
|
|
|
|
override func contentViewClass(model: SessionBaseModel) -> IMContentBaseView.Type {
|
|
return IMGiftContentView.self
|
|
}
|
|
}
|
|
|
|
class IMGiftContentView: IMContentBaseView {
|
|
|
|
var effectView: UIVisualEffectView!
|
|
var iconBlock: UIView!
|
|
var giftIcon: UIImageView!
|
|
var label: LineSpaceLabel!
|
|
|
|
required override init(frame: CGRect) {
|
|
super.init(frame: frame)
|
|
|
|
setupUI()
|
|
}
|
|
|
|
required init?(coder: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
|
|
func setupUI() {
|
|
|
|
effectView = {
|
|
let v = UIVisualEffectView(effect: UIBlurEffect(style: .light))
|
|
v.alpha = 1
|
|
v.cornerRadius = 16
|
|
insertSubview(v, at: 0)
|
|
v.snp.makeConstraints { make in
|
|
make.edges.equalToSuperview()
|
|
}
|
|
return v
|
|
}()
|
|
|
|
iconBlock = {
|
|
let v = UIView()
|
|
v.cornerRadius = 8
|
|
v.backgroundColor = .c.cseln
|
|
containerView.addSubview(v)
|
|
v.snp.makeConstraints { make in
|
|
make.size.equalTo(CGSize(width: 48, height: 48))
|
|
make.leading.equalToSuperview().offset(16)
|
|
make.centerY.equalToSuperview()
|
|
}
|
|
return v
|
|
}()
|
|
|
|
giftIcon = {
|
|
let v = UIImageView()
|
|
iconBlock.addSubview(v)
|
|
v.snp.makeConstraints { make in
|
|
make.size.equalTo((CGSize(width: 48, height: 48)))
|
|
make.center.equalToSuperview()
|
|
}
|
|
return v
|
|
}()
|
|
|
|
label = {
|
|
let v = LineSpaceLabel()
|
|
let typo = CLSystemToken.typography(token: .tbm)
|
|
v.config(typo)
|
|
containerView.addSubview(v)
|
|
v.snp.makeConstraints { make in
|
|
make.centerY.equalToSuperview()
|
|
make.leading.equalTo(iconBlock.snp.trailing).offset(10)
|
|
make.trailing.lessThanOrEqualToSuperview().offset(-10)
|
|
}
|
|
return v
|
|
}()
|
|
}
|
|
|
|
override func refreshModel(model: SessionBaseModel) {
|
|
super.refreshModel(model: model)
|
|
|
|
|
|
guard let info = IMCustomAttachment.getCustomInfo(model: model) else{
|
|
return
|
|
}
|
|
|
|
giftIcon.loadImage(info.giftIcon, bgColor: .clear)
|
|
label.text = "\(info.giftName ?? "-") x\(info.giftNum ?? 1)"//"Diamod x1"
|
|
}
|
|
|
|
@objc func checkTapAction() {
|
|
// 跳转钱包
|
|
AppRouter.goWalletCenter()
|
|
}
|
|
}
|