Visual_Novel_iOS/crush/Crush/Src/Components/UI/Buttons/TickButton.swift

53 lines
1.4 KiB
Swift

//
// TickButton.swift
// Crush
//
// Created by Leon on 2025/7/19.
//
import UIKit
import SnapKit
class TickButton: CLButton {
// MARK: - Properties
private var normalTintColor: UIColor
private var disableTintColor: UIColor
// MARK: - Initialization
override init(frame: CGRect) {
normalTintColor = .c.ctpn
disableTintColor = .c.ctpd
super.init(frame: frame)
tickmark()
}
@available(*, unavailable)
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
// MARK: - Setup
func tickmark() {
layer.cornerRadius = 16
clipsToBounds = true
let tick = MWIconFont.image(fromIcon: .select, size: CGSize(width: 16, height: 16), color: .c.ctpn)
setImage(tick, for: .normal)
setBackgroundImage(UIImage.withColor(color: .c.cpn, size: CGSize(width: 10, height: 10)), for: .normal)
setBackgroundImage(UIImage.withColor(color: .c.cpd, size: CGSize(width: 10, height: 10)), for: .disabled)
setBackgroundImage(UIImage.withColor(color: .c.cpp, size: CGSize(width: 10, height: 10)), for: .highlighted)
snp.makeConstraints { make in
make.height.equalTo(32)
make.width.equalTo(52)
}
}
override var isEnabled: Bool {
didSet {
tintColor = isEnabled ? normalTintColor : disableTintColor
}
}
}