Jawaban yang diterima bekerja untuk saya tetapi saya perhatikan ketika saya ingin gambar bayangan muncul kembali ketika muncul kembali atau mendorong maju ke vc lain, ada kedipan yang terlihat di bilah navigasi.
Menggunakan metode ini navigationController?.navigationBar.setValue(true, forKey: "hidesShadow")
di viewWillAppear bilah bayangan disembunyikan di pengontrol tampilan yang terlihat saat ini.
Menggunakan 2 metode ini
navigationController?.navigationBar.setBackgroundImage(nil, for: .default)
navigationController?.navigationBar.setValue(false, forKey: "hidesShadow")
di viewWillDisappear kedipan masih terjadi tetapi hanya ketika gambar bayangan muncul kembali dan bukan bilah navigasi itu sendiri.
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// 1. hide the shadow image in the current view controller you want it hidden in
navigationController?.navigationBar.setValue(true, forKey: "hidesShadow")
navigationController?.navigationBar.layoutIfNeeded()
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(true)
// 2. show the shadow image when pushing or popping in the next view controller. Only the shadow image will blink
navigationController?.navigationBar.setBackgroundImage(nil, for: .default)
navigationController?.navigationBar.setValue(false, forKey: "hidesShadow")
navigationController?.navigationBar.layoutIfNeeded()
}