2017-07-30 8 views
2

私はそれを透明にするためにナビゲーションとステータスバーを隠すことを考えています。私はすぐ下のイメージを持っています。私は全体のスペースを取りたいと思っています。これまでのところ、私は、ナビゲーションバーを非表示になったが、これはviewDidLoad()である白 - ステータスバーは、まだ次のとおりです。またiPhoneステータスバーをSwiftで透明にするにはどうすればよいですか?

self.navigationController?.setNavigationBarHidden(true, animated: true) 

、どのように私は、ナビゲーションバーに戻しボタンを追加、再できますか?

ありがとうございます!私の現在のiPhoneシミュレータの

スクリーンショット:Mohy Ghとのコードの後に​​

enter image description here

Screen shot after add Mohy Gh's code

を編集:

答えて

1

スウィフト3:全体のアプリのために:

行いますこれであなたのAppDelegatedidFinishLaunchingWithOptions方法の代わりに、ナビゲーションバーに隠れ:

// Sets navigationBar's background to a blank/empty image 

    UINavigationBar.appearance().setBackgroundImage(UIImage(), for: .default) 

    // Sets shadow (line below the bar) to a blank image 
    UINavigationBar.appearance().shadowImage = UIImage() 
    UINavigationBar.appearance().isTranslucent = true 

EDIT:あなたは必要navigationBarを透明にした後

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(animated) 
    self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default) 
    self.navigationController?.navigationBar.shadowImage = UIImage() 
    self.navigationController?.navigationBar.isTranslucent = true 

} 

override func viewWillDisappear(_ animated: Bool) { 
    super.viewWillDisappear(animated) 
    self.navigationController?.navigationBar.shadowImage = nil 
    self.navigationController?.navigationBar.setBackgroundImage(nil, for: .default) 
    self.navigationController?.navigationBar.isTranslucent = true 

} 

あなたのビューコントローラ内の1つの特定のビューコントローラのnavigationBarを非表示にするには、このように行いますimageViewの上限をtopLayoutGuidに設定します。0

Oまた、いずれかのstatusBarは隠すviewControllerまた、ご希望のViewControllerでこれを置く:私はちょうどそれらのすべてを1つの特定のビューコントローラのためにそれを隠していないたかった場合

override var prefersStatusBarHidden: Bool{ return true }

+1

? – Sam

+0

@Sam私は自分の投稿を編集しました:)もしそれが正しい答えとして選択してください:) –

+0

それはそこに来ているが、私は実際にはステータスバーを非表示にしたくない!私はちょうど私の画像がステータスバーからスペース全体を占めるようにしたい。私はまだステータスバーを見ることができ、その情報は写真の真上です。したがって、ナビゲーションバーは消えますが、ステータスバーは透明です。最初のスクリーンショット – Sam

関連する問題