co-maps/iphone/Maps/Core/Theme/Renderers/UINavigationItemRenderer.swift
2025-11-22 13:58:55 +01:00

24 lines
713 B
Swift

extension UINavigationItem {
@objc func applyTheme() {
if styleName.isEmpty {
setStyle(.navigationBarItem)
}
for style in StyleManager.shared.getStyle(styleName)
where !style.isEmpty {
UINavigationItemRenderer.render(self, style: style)
}
}
}
class UINavigationItemRenderer {
class func render(_ control: UINavigationItem, style: Style) {
if let item = control.backBarButtonItem {
UIBarButtonItemRenderer.render(item, style: style)
}
if let item = control.leftBarButtonItem {
UIBarButtonItemRenderer.render(item, style: style)
}
if let item = control.rightBarButtonItem {
UIBarButtonItemRenderer.render(item, style: style)
}
}
}