स्वीकृत उत्तर ने मेरे लिए काम किया, लेकिन मैंने देखा कि जब मैं चाहता था कि छाया की छवि फिर से दिखाई दे, जब वापस पॉप करने या किसी अन्य vc के आगे बढ़ने के लिए नेविगेशन बार में ध्यान देने योग्य पलक दिखाई दे।
इस विधि का उपयोग करना navigationController?.navigationBar.setValue(true, forKey: "hidesShadow")
दृश्य में । वर्तमान छाया दृश्य बार में छिपा है।
इन 2 विधियों का उपयोग करके
navigationController?.navigationBar.setBackgroundImage(nil, for: .default)
navigationController?.navigationBar.setValue(false, forKey: "hidesShadow")
देखने में विस्मयादिबोधक अभी भी होता है, लेकिन केवल जब छाया छवि फिर से दिखाई देती है और न ही नेविगेशन बार।
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()
}