2016-04-12 12 views
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 
} 

答えて

0

設定の背景と影の画像は、私のためにうまく働きました:

override func viewWillDisappear(animated: Bool) { 
    navigationController!.navigationBar.setBackgroundImage(nil, forBarMetrics: UIBarMetrics.Default) 
    navigationController!.navigationBar.shadowImage = nil 
} 
関連する問題