Я создавал приложение, в котором оно использует собственный образ заголовка вместо того, который предоставляет XCode.У меня есть разные классы, обрабатывающие два разных контроллера представленияОдин называется MainViewController, а другой CategoryViewController.Поскольку я также использую большие заголовки, следующий код используется для удаления стандартного образа контроллера навигации из MainViewController, который я нашел в Интернете через эту статью .
struct System {
static func clearNavigationBar(forBar navBar: UINavigationBar) {
navBar.setBackgroundImage(UIImage(), for: .default)
navBar.shadowImage = UIImage()
navBar.isTranslucent = false
}
}
И тогда в вид будет выведено следующее: появится метод.
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if let navController = navigationController {
System.clearNavigationBar(forBar: navController.navigationBar)
navController.view.backgroundColor = .clear
}
}
Теперь моя проблема в том, что когда я нажимаю кнопку, которая выполняет переход к CategoryViewController, используя тот же код на CategoryViewController, я меняю navController.view.backgroundColor = .black
.Проблема в том, что я получаю эту действительно странную ошибку, которая не может быть исправлена.
Есть ли что-то еще, что я мог бы сделать, чтобы построить-в выпуске, не жертвуя встроенной анимацией заголовков или, возможно, используя другой код для получения одинаковых результатов?
Заранее всем спасибо!