Visual_Novel_iOS/crush/Crush/Src/Modules/Friend/View/FriendsNoticeOnceView.swift

87 lines
2.5 KiB
Swift

//
// FriendsNoticeOnceView.swift
// Crush
//
// Created by Leon on 2025/8/15.
//
import UIKit
class FriendsNoticeOnceView: UIView {
var icon: UIImageView!
var textLabel: LineSpaceLabel!
var closeButton: UIButton!
var tapCloseAction: (()-> Void)?
override init(frame: CGRect) {
super.init(frame: frame)
setupViews()
setupData()
setupEvent()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
private func setupViews() {
backgroundColor = .c.cpn
cornerRadius = 8
icon = {
let v = UIImageView()
v.image = UIImage(named: "icon_pink_heart")
addSubview(v)
v.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.leading.equalToSuperview().offset(24)
make.size.equalTo(CGSize(width: 24, height: 24))
}
return v
}()
closeButton = {
let v = UIButton()
let image = MWIconFont.image(fromIcon: .delete, size: CGSize(width: 12, height: 12), color: .text)
v.addTarget(self, action: #selector(tapClose), for: .touchUpInside)
v.contentMode = .center
v.setImage(image, for: .normal)
addSubview(v)
v.snp.makeConstraints { make in
make.size.equalTo(CGSize(width: 44, height: 44))
make.centerY.equalToSuperview()
make.trailing.equalToSuperview().offset(0)
}
return v
}()
textLabel = {
let v = LineSpaceLabel()
let typo = CLSystemToken.typography(token: .tls)
v.config(typo)
v.textColor = .text
addSubview(v)
v.snp.makeConstraints { make in
make.leading.equalTo(icon.snp.trailing).offset(16)
make.trailing.equalTo(closeButton.snp.leading).offset(0)
make.top.equalToSuperview().offset(12)
make.bottom.equalToSuperview().offset(-12)
}
return v
}()
}
private func setupData() {
textLabel.text = "The heartbeat value above 12.0℃ can appear in the relationship list"
}
private func setupEvent() {
}
@objc func tapClose() {
AppCache.cache(key: CacheKey.friendsHeartBeatShowedOnce.rawValue, value: true)
tapCloseAction?()
removeFromSuperview()
}
}