В моем стеке навигации есть контроллер представления, который должен иметь прозрачную панель навигации, в то же время показывая кнопку возврата.
Я могу добиться этого с помощью одной строки кода внутри viewWillAppear
:
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
Однако, когда я пытаюсь вернуться к предыдущему виду, я устанавливаю фоновое изображение обратно на nil
или .none
, но теряю эффект полупрозрачности, который был ранеетам, когда я это делаю.
Я попытался установить все следующие параметры в viewWillDisappear
, и ни один из них, похоже, не возвращает прозрачность обратно.Это просто кажется белым независимо от того, что я делаю.Тень внизу также исчезла:
self.navigationController?.navigationBar.isTranslucent = true
self.navigationController?.navigationBar.barStyle = .default
self.navigationController?.navigationBar.backgroundColor = .none
self.navigationController?.navigationBar.setBackgroundImage(.none, for: .default)
Начальная панель навигации:
Прозрачная панель навигации:
После перехода назад: