У меня есть 2 StoryBoard
в моем проекте, и все ViewController
в моем первом storyBoard
имеют .lightContent
statusBarStyle
, а все ViewController
в моем втором storyBoard
имеют .default
statusBarStyle
,
Для этого я выполнил следующие шаги.
1. View controller-based status bar appearance
- это true
2 Уже используйте приведенный ниже код.
extension UINavigationController {
open override var preferredStatusBarStyle: UIStatusBarStyle {
return topViewController?.preferredStatusBarStyle ?? .default
}
}
Когда я устанавливаю 2nd storyBoard
ViewController
в качестве rootController из 1-го storyBoard
изменения стиля statusBar, но я сталкиваюсь с проблемой ниже.
Когда я устанавливаю 1st storyBoard ViewController
в качестве rootController, Обновление statusBarStyle через несколько секунд.
Не правильно
Через несколько секунд
вот моя демонстрационная ссылка: https://www.dropbox.com/s/ijqg73zm1jxbokc/statusBarDemo.zip?dl=0
ОБНОВЛЕНИЕ
МОЙ First ViewController Code
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.setNavigationBarHidden(true, animated: animated)
}
override var preferredStatusBarStyle: UIStatusBarStyle {
return .default
}
@IBAction func btnInitialControllerTapped(_ sender: Any) {
let controller = UIStoryboard(name: "Initial", bundle: nil).instantiateViewController(withIdentifier: "InitialViewController") as! InitialViewController
let navController = UINavigationController.init(rootViewController: controller)
appDelegate.window?.rootViewController = navController
}
Мой второй код ViewController
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
@IBAction func btnControllerTapped(_ sender: Any) {
let storyboard = UIStoryboard(name:"Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "ViewController") as! ViewController
let navigationController = UINavigationController(rootViewController: vc)
appDelegate.window?.rootViewController = navigationController
}
Пожалуйста, сообщите мне, что мне не хватает или что я реализовал неправильно. Любая помощь будет оценена. Спасибо