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

69 lines
1.8 KiB
Swift
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// Create.swift
// Crush
//
// Created by Leon on 2025/7/23.
//
import SnapKit
import UIKit
/// A button for incrementing or decrementing values, used in order placement or tipping amount/unit adjustments
class InDecreaseButton: UIButton {
// MARK: - Initialization
override init(frame: CGRect) {
super.init(frame: frame)
setupButton()
}
required init?(coder: NSCoder) {
super.init(coder: coder)
setupButton()
}
private func setupButton() {
isEnabled = true
layer.cornerRadius = 8
layer.masksToBounds = true
// Assuming a fixed size of 48x48 as per original code
snp.makeConstraints { make in
make.size.equalTo(CGSize(width: 48, height: 48))
}
}
// MARK: - Public Methods
func setupIncreaseState() {
// Assuming MWIconFont is a utility for generating icon images
// IconCodeAdd is likely an enum or constant for the "+" icon
let iconImage = MWIconFont.image(fromIcon: .add, size: CGSize(width: 20, height: 20), color: .white)
setImage(iconImage, for: .normal)
}
func setupDecreaseState() {
// Assuming IconCodeReduce is an enum or constant for the "" icon
let iconImage = MWIconFont.image(fromIcon: .reduce, size: CGSize(width: 20, height: 20), color: .white)
setImage(iconImage, for: .normal)
}
// MARK: - Property Overrides
override var isEnabled: Bool {
didSet {
tintColor = isEnabled ? UIColor.text : UIColor.disable
backgroundColor = isEnabled ? UIColor.c.csen : UIColor.c.csed
}
}
}
// MARK: - Placeholder Assumptions
// Assuming MWIconFont is a utility class for generating icon images
enum InDecreaseIconCode {
case add
case reduce
}