Попытка установить пару различных цветовых тем с протоколом и может обновить кнопки, метки и т. Д., Но не может изменить цвет оттенка элементов панели вкладок. Как можно реализовать это и заставить его обновить в приложении.
ThemeProtocol.swift
protocol ThemeProtocol {
var background: UIColor { get }
var accent: UIColor { get }
var tint: UIColor { get }
}
RedTheme.swift
class RedTheme: ThemeProtocol {
var background: UIColor = UIColor.systemBackground
var accent: UIColor = UIColor.systemRed
var tint: UIColor = UIColor.systemRed
}
Осуществление
override func viewWillAppear(_ animated: Bool) {
super.viewDidAppear(animated)
applyTheme()
}
private func applyTheme() {
settingsButton.tintColor = ThemeManager.current.tint
}
}