88 lines
2.5 KiB
Swift
88 lines
2.5 KiB
Swift
//
|
|
// NRHomeCoinsPackButton.swift
|
|
// ReaderHive
|
|
//
|
|
// Created by 澜声世纪 on 2025/12/13.
|
|
//
|
|
|
|
import UIKit
|
|
import SnapKit
|
|
import YYCategories
|
|
|
|
class NRHomeCoinsPackButton: UIControl {
|
|
|
|
private lazy var bgImageView = UIImageView(image: UIImage(named: "calendar_icon_03"))
|
|
|
|
private lazy var borderView: UIView = {
|
|
let view = UIView()
|
|
view.layer.cornerRadius = 14
|
|
view.layer.masksToBounds = true
|
|
view.backgroundColor = UIColor.black.withAlphaComponent(0.25)
|
|
return view
|
|
}()
|
|
|
|
private lazy var textBgView: UIImageView = {
|
|
let view = UIImageView(image: UIImage(named: "gradient_color_01"))
|
|
view.layer.cornerRadius = 12
|
|
view.layer.masksToBounds = true
|
|
return view
|
|
}()
|
|
|
|
private lazy var textLabel: UILabel = {
|
|
let label = NRLabel()
|
|
label.font = .font(ofSize: 12, weight: .bold).nr_withBoldItalic()
|
|
label.textColors = [UIColor.FFEECA.cgColor, UIColor.FECE_62.cgColor]
|
|
label.textStartPoint = .init(x: 0, y: 0.5)
|
|
label.textEndPoint = .init(x: 1, y: 0.5)
|
|
label.text = "Daily Coins".localized
|
|
label.setContentHuggingPriority(.required, for: .horizontal)
|
|
label.setContentCompressionResistancePriority(.required, for: .horizontal)
|
|
return label
|
|
}()
|
|
|
|
override init(frame: CGRect) {
|
|
super.init(frame: frame)
|
|
|
|
nr_setupUI()
|
|
}
|
|
|
|
required init?(coder: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
|
|
}
|
|
|
|
extension NRHomeCoinsPackButton {
|
|
|
|
private func nr_setupUI() {
|
|
addSubview(bgImageView)
|
|
addSubview(borderView)
|
|
borderView.addSubview(textBgView)
|
|
textBgView.addSubview(textLabel)
|
|
|
|
bgImageView.snp.makeConstraints { make in
|
|
make.left.right.top.equalToSuperview()
|
|
make.bottom.equalToSuperview().offset(-1)
|
|
}
|
|
|
|
borderView.snp.makeConstraints { make in
|
|
make.centerX.equalToSuperview()
|
|
make.bottom.equalToSuperview()
|
|
}
|
|
|
|
textBgView.snp.makeConstraints { make in
|
|
make.left.equalToSuperview().offset(2)
|
|
make.top.equalToSuperview().offset(2)
|
|
make.center.equalToSuperview()
|
|
make.height.equalTo(24)
|
|
// make.width.equalTo(84)
|
|
}
|
|
|
|
textLabel.snp.makeConstraints { make in
|
|
make.center.equalToSuperview()
|
|
make.left.equalToSuperview().offset(8)
|
|
}
|
|
}
|
|
|
|
}
|