Files
comaps/iphone/Maps/UI/BottomMenu/BottomTabBarButton.swift
Yannik Bloscheck bff4b2348a [ios] WIP: Switching main/map buttons to SwiftUI
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-11-07 21:07:34 +01:00

35 lines
1005 B
Swift

import UIKit
class BottomTabBarButton: MWMButton {
let kExtendedTabBarTappableMargin: CGFloat = -15
@objc override func applyTheme() {
if styleName.isEmpty {
setStyle(.bottomTabBarButton)
}
for style in StyleManager.shared.getStyle(styleName) where !style.isEmpty && !style.hasExclusion(view: self) {
BottomTabBarButtonRenderer.render(self, style: style)
}
}
override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
return bounds.insetBy(dx: kExtendedTabBarTappableMargin, dy: kExtendedTabBarTappableMargin).contains(point)
}
}
class BottomTabBarButtonRenderer {
class func render(_ control: BottomTabBarButton, style: Style) {
UIViewRenderer.renderShadow(control, style: style)
UIViewRenderer.renderBorder(control, style: style)
if let coloring = style.coloring {
control.coloring = coloring
}
if let backgroundColor = style.backgroundColor {
control.backgroundColor = backgroundColor
}
}
}