Files
comaps/iphone/Maps/Core/Theme/Renderers/UITableViewCellRenderer.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

47 lines
1.5 KiB
Swift

extension UITableViewCell {
@objc override func applyTheme() {
if styleName.isEmpty {
setStyle(.tableCell)
}
for style in StyleManager.shared.getStyle(styleName)
where !style.isEmpty && !style.hasExclusion(view: self) {
UITableViewCellRenderer.render(self, style: style)
}
}
}
class UITableViewCellRenderer {
class func render(_ control: UITableViewCell, style: Style) {
if let label = control.textLabel {
if let font = style.font {
label.font = font
}
if let fontColor = style.fontColor {
label.textColor = fontColor
}
}
if let detailedLabel = control.detailTextLabel {
if let fontDetailed = style.fontDetailed {
detailedLabel.font = fontDetailed
}
if let fontColorDetailed = style.fontColorDetailed {
detailedLabel.textColor = fontColorDetailed
}
}
if let fontColorDetailed = style.fontColorDetailed {
control.imageView?.tintColor = fontColorDetailed
}
if let tintColor = style.tintColor {
control.tintColor = tintColor
control.accessoryView?.tintColor = tintColor
}
if let backgroundColor = style.backgroundColor {
control.backgroundColor = backgroundColor
control.backgroundView = UIImageView(image: backgroundColor.getImage())
}
if let backgroundColorSelected = style.backgroundColorSelected {
control.selectedBackgroundView = UIImageView(image: backgroundColorSelected.getImage())
}
}
}