override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
// ナビゲーションを透明にする処理
self.navigationController!.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)
self.navigationController!.navigationBar.shadowImage = UIImage()
}
override func viewWillDisappear(animated: Bool) {
super.viewDidDisappear(animated)
// 透明にしたナビゲーションを元に戻す処理
self.navigationController!.navigationBar.setBackgroundImage(nil, forBarMetrics: .Default)
self.navigationController!.navigationBar.shadowImage = nil
}
Swift4 version
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// ナビゲーションを透明にする処理
self.navigationController!.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController!.navigationBar.shadowImage = UIImage()
}
override func viewWillDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
// 透明にしたナビゲーションを元に戻す処理
self.navigationController!.navigationBar.setBackgroundImage(nil, for: .default)
self.navigationController!.navigationBar.shadowImage = nil
}
たった2行ですから簡単ですね。