После долгой борьбы я получил решение своей проблемы.Вы можете сказать, что это сложно, но может помочь вам с Xcode 9 и более поздними версиями и swift 4.
Что касается моего Вопроса, я подхожу к этому VC с помощью pushViewController (), поэтому, когда я достигаю этогоVC, просто я использую здесь ViewWillAppear (), чтобы изменить мой NavBar, и после перехода от этого VC к предыдущему VC или любому другому контроллеру, так что мне нужно сбросить исходную навигацию, чтобы вернуться к ее первоначальному стилю, для этой цели я используюviewWillDisappear ().
Шаг 1:
override func viewWillAppear(_ animated: Bool) {
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
self.navigationController?.navigationBar.shadowImage = nil
self.navigationController?.navigationBar.setBackgroundImage(nil, for: .default)
self.navigationController?.navigationBar.isTranslucent = true
}
Шаг 2:
Для увеличения высоты панели навигации, ядобавили пробелы в приглашении к элементу навигации, а также установили координату y на -20, чтобы достичь NavBar в верхней части строки состояния под панелью навигации из раскадровки.
Шаг 3: последний и последний
Я установил альфа-значение в панели навигации из раскадровки: 0,5
И это все для меня,и работает для меня очень хорошо.Также вы можете увидеть мой вывод после всех вышеописанных шагов.
введите описание изображения здесь