87 lines
2.5 KiB
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()
|
|
}
|
|
}
|