Создать тему Проблема с панелью навигации e Панель вкладок - PullRequest
0 голосов
/ 07 февраля 2019

Я создал эту структуру, чтобы иметь возможность изменять время приложения.он работает со всеми элементами, нарисованными для панели навигации и панели вкладок.Я пробовал несколько вещей, но это не работает, кто-то может указать мне несколько предложений.Спасибо

через swith Я могу изменить значения для всех элементов, кроме как сказано в панели навигации и панели вкладок.

структура:

theme file
ThemeProtocol file

затем темаfile

 dark
 Default

File Theme

import UIKit

class Theme {

    static  var current: ThemeProtocol = Default()

}

File ThemeProtocol

import UIKit

protocol ThemeProtocol {

    var backgroundColorView: UIColor { get }
    var tint: UIColor { get }
    var coloreTesto: UIColor { get }
    var coloreTabella: UIColor { get }
    var colorecella: UIColor { get }
    var coloreLineaTabella: UIColor { get }
    var coloreTestoBottone: UIColor { get }
}

file Dark e Default
import UIKit

class Dark: ThemeProtocol {

    var backgroundColorView: UIColor = UIColor.black
    var tint: UIColor = UIColor.blue
    var coloreTesto: UIColor = UIColor.white
    var coloreTabella: UIColor = UIColor.black
    var colorecella: UIColor = UIColor.black
    var coloreLineaTabella: UIColor = UIColor.white
    var coloreTestoBottone: UIColor = UIColor.white

}

например, если я помещаю этот код в файлы, которые я помещаю в viewDidLoad каждый раз, когда янажмите на swicth цвет меняется, но я не могу сделать это на панели навигации и вкладок

override func viewDidLoad () {
         super.viewDidLoad ()
         view.backgroundColor = Theme.current.backgroundColorView
     }

1 Ответ

0 голосов
/ 07 февраля 2019

Я думаю, вы могли бы использовать: navigationController?.navigationBar.barTintColor = <Your color>.

Я выставил образец, но использовал фреймворк.Но мой образец должен дать вам решение.Вы можете найти образец здесь: https://github.com/enigmatic7earth/theme-sample

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...