Files
comaps/iphone/Maps/Classes/Components/BorderedButton.swift
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

38 lines
987 B
Swift

@objc(MWMBorderedButton)
final class BorderedButton: UIButton {
private var borderColor: UIColor?
private var borderHighlightedColor: UIColor?
private var borderDisabledColor: UIColor?
@objc func setBorderColor(_ color: UIColor) {
borderColor = color
}
@objc func setBorderHighlightedColor(_ color: UIColor) {
borderHighlightedColor = color
}
@objc func setBorderDisabledColor(_ color: UIColor) {
borderDisabledColor = color
}
private func updateBorder() {
if !isEnabled {
layer.borderColor = borderDisabledColor?.cgColor ?? titleColor(for: .disabled)?.cgColor
} else if isHighlighted {
layer.borderColor = borderHighlightedColor?.cgColor ?? titleColor(for: .highlighted)?.cgColor
} else {
layer.borderColor = borderColor?.cgColor ?? titleColor(for: .normal)?.cgColor
}
}
override var isEnabled: Bool {
didSet { updateBorder() }
}
override var isHighlighted: Bool {
didSet { updateBorder() }
}
}