Site icon AppTractor

EasyTheme: простые темы для приложения

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
  }
}

Библиотека на GitHub: https://github.com/onmyway133/EasyTheme
Платформа: iOS
⭐️: 227

Exit mobile version