При переходе на другой экран цвет панели навигации некоторое время отображается белым, а исходный - красным - PullRequest
0 голосов
/ 11 ноября 2018

Я работаю над MainController , поскольку он содержит tableView с некоторыми образцами ячеек. Я настраиваю полосу наговора так же, как gif файл ниже.

enter image description here

Вот код этого файла для настройки панели навигации. Я называю это в viewWillAppear .

navigationController?.navigationBar.setBackgroundImage(nil, for: .default)
navigationController?.navigationBar.shadowImage = nil

navigationController?.navigationBar.tintColor = .white
navigationController?.navigationBar.barTintColor = .red
navigationController?.navigationBar.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]

Когда я щелкаю одну ячейку, она переходит к DetailsController . А вот код, который я настраиваю на панели навигации. Я называю это в viewDidLoad .

navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.navigationBar.isTranslucent = true
let statusBarView = UIView(frame: UIApplication.shared.statusBarFrame)
let statusBarColor = UIColor.red
statusBarView.backgroundColor = statusBarColor
view.addSubview(statusBarView)

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

Спасибо.

...