Как установить настройки контроллера навигации только один раз - PullRequest
0 голосов
/ 01 сентября 2018

В моем быстром приложении есть много навигационных контроллеров, и для каждого из них я хочу установить следующие настройки:

    navigationController?.navigationBar.backIndicatorImage = #imageLiteral(resourceName: "backArrow").withRenderingMode(.automatic)
    navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "backArrow")
    navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
    navigationItem.backBarButtonItem?.tintColor = UIColor(red: 235/255, green: 235/255, blue: 235/255, alpha: 1)

Как я могу установить эти настройки только один раз, то есть без написания этого кода для каждого класса?

1 Ответ

0 голосов
/ 01 сентября 2018

Создайте BaseViewController наподобие

class BaseViewConroller: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    navSetting()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


func navSetting() {
    navigationController?.navigationBar.backIndicatorImage = #imageLiteral(resourceName: "backArrow").withRenderingMode(.automatic)
    navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "backArrow")
    navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: 
.plain, target: nil, action: nil)
    navigationItem.backBarButtonItem?.tintColor = UIColor(red: 235/255, green: 235/255, blue: 235/255, alpha: 1)
   }
}

Вы можете создать все свои контроллеры вида, как

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