গৃহীত উত্তরটি আমার পক্ষে কাজ করেছে তবে আমি লক্ষ্য করেছি যে যখন নেপাল বারে ফিরে পপিং বা অন্য ভিসির দিকে এগিয়ে যাওয়ার সময় আমি ছায়া চিত্রটি আবার প্রদর্শিত হবে তখন নেভিগেশন বারে একটি লক্ষণীয় পলক ছিল।
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()
}