Я пытался удалить фон панели навигации в iOS 13 в операторах if с #available. Я знаю оригинальный код для удаления фона панели навигации для iOS 12 и более старых версий iOS в инструкциях else. Однако Apple объявила о создании новой системы под названием Appearance в любом месте для поддержки этой новой системы iOS 13.
let app = UINavigationBarAppearance()
let navigationBar = self.navigationController?.navigationBar
app.configureWithOpaqueBackground()
app.shadowImage = UIImage()
self.navigationController?.navigationBar.scrollEdgeAppearance = app
navigationBar!.standardAppearance = app
navigationBar!.scrollEdgeAppearance = app
Я полагаю, что configureWithOpaqueBackground () позволяет нам удалить фон панели навигации,Но у меня на тесте на iOS 13.1 на симуляторе появляется черный фон панели навигации. Я знаю, что вызвало это.
app.configureWithOpaqueBackground()
app.titleTextAttributes = [.foregroundColor: UIColor.white]
app.largeTitleTextAttributes = [.foregroundColor: UIColor.white]
app.backgroundColor = #colorLiteral(red: 0.1603881121, green: 0.1677560508, blue: 0.2133775949, alpha: 1)
Этот код позволяет нам поставить собственный цвет на черном фоне. Я готов добавить этот код в операторы viewWillDisappear, чтобы восстановить фон панели навигации до нормального цветного фона до self.navigationController?.navigationBar.scrollEdgeAppearance = app
с удалением app.configureWithOpaqueBackground()
и app.shadowImage = UIImage()
. Теперь мне нужно создать полупрозрачный фон панели навигации в операторах viewWillAppear, но он не может видеть полупрозрачный фон из-за отображения черного фона.
Я очень ценю вашу помощь в решении проблемы! :)