EasyTheme — библиотека для упрощения внедрения тем в приложения на Swift. Поддерживает iOS, macOS, tvOS, watchOS, дает полный контроль над темой, обновляет текущие View, ориентирована на протоколы и расширяема.
Пример использования:
// ViewController.swift override func viewDidLoad() { super.viewDidLoad() use(MyTheme.self) { $0.title = $1.name $0.tableView.backgroundColor = $1.backgroundColor $0.navigationController?.navigationBar.setBackgroundImage($1.topImage, for: .default) $0.tableView.rowHeight = $1.name == "Unicorn" ? 180 : 120 $0.tableView.reloadData() } } // Cell.swift override func awakeFromNib() { super.awakeFromNib() imageView.layer.cornerRadius = 5 imageView.layer.masksToBounds = true use(MyTheme.self) { $0.titleLabel.font = $1.titleFont $0.subtitleLabel.font = $1.subtitleFont $0.container.backgroundColor = $1.cellColor } }