Files
comaps/iphone/Maps/UI/BottomMenu/Menu/Cells/BottomMenuItemCell.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

36 lines
1.2 KiB
Swift

import UIKit
class BottomMenuItemCell: UITableViewCell {
@IBOutlet private var label: UILabel!
@IBOutlet private var badgeBackground: UIView!
@IBOutlet private var badgeCountLabel: UILabel!
@IBOutlet private var separator: UIView!
@IBOutlet private var icon: UIImageView!
@IBOutlet private var badgeSpacingConstraint: NSLayoutConstraint!
@IBOutlet private var badgeBackgroundWidthConstraint: NSLayoutConstraint!
var anchorView: UIView {
get {
return icon
}
}
private(set) var isEnabled: Bool = true
func configure(imageName: String, title: String, badgeCount: UInt = .zero, enabled: Bool = true) {
icon.image = UIImage(named: imageName)
label.text = title
badgeBackground.isHidden = badgeCount == 0
badgeCountLabel.text = "\(badgeCount)"
if badgeCount == 0 {
badgeSpacingConstraint.constant = 0
badgeBackgroundWidthConstraint.constant = 0
} else {
badgeSpacingConstraint.constant = 8
badgeBackgroundWidthConstraint.constant = 32
}
isEnabled = enabled
icon.setStyleAndApply(isEnabled ? .black : .gray)
label.setFontStyleAndApply(isEnabled ? .blackPrimary : .blackHint)
}
}