1
2つのビューを接続するセグがあります。親ビューでは、ナビゲーションバーは灰色で、子ビューでは明らかです。セグを巻き戻すと、親コントローラのナビゲーションバーもクリアされます。これを修正するには?私は、ナビゲーションバーのデフォルトスタイルを復元したいとき、子コントローラでviewWillDisappear
方法でnil
へナビゲーションコントローラーでアンワインドセグをクリア
親コントローラ
override func viewWillAppear(animated: Bool) {
self.navigationItem.title = "FEED"
self.navigationController?.navigationBar.barTintColor = UIColor(white:0.97, alpha:1.0)
let navBarLineView = UIView(frame: CGRectMake(0,
CGRectGetHeight((navigationController?.navigationBar.frame)!),
CGRectGetWidth((self.navigationController?.navigationBar.frame)!),
1))
navBarLineView.backgroundColor = UIColor(red:0.91, green:0.91, blue:0.92, alpha:1.0)
navigationController?.navigationBar.addSubview(navBarLineView)
}
子供コントローラー
override func viewWillAppear(animated: Bool) {
self.navigationItem.title = "Space
self.navigationController?.navigationBar.barTintColor = UIColor.whiteColor()
navigationController!.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
navigationController!.navigationBar.shadowImage = UIImage()
navigationController!.navigationBar.translucent = true
}