2016-04-09 18 views
0

私は私のナビゲーションコントローラの不透明度を作るために以下のコードを使用:変更ステータスバーの色

navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default) 
navigationController?.navigationBar.shadowImage = UIImage() 
navigationController?.navigationBar.backgroundColor = UIColor(red:121.0/255.0 , green:168.0/255.0 , blue: 243.0/255.0, alpha: 0.3) 
navigationController?.navigationBar.translucent = true 

このコードの問題は、私はこのコードを使用する場合、私のステータスバーは、私と同じ不透明度を持っていないですナビゲーションバー、なぜですか?そして私はこれをどのように解決することができますか?

答えて

1

ストーリーボードのナビゲーションコントローラをクリックし、トップバーが不透明なナビゲーションバーに設定され、ステータスバーがデフォルトに設定されていることを確認します。作成したコード行をすべて削除し、この単純な行を実行します。

self.navigationController!.navigationBar.barTintColor = UIColor(red: 114/255, green: 176/255, blue: 29/255, alpha: 1.0) 

これは問題を解決します。あなたが持っている余分なラインはすべて、あなたが達成しようとしているもののために必要ではありません。

+0

私は試してみましたが、変更はありません... – Lacrifilm

+0

画像を投稿しないで、ナビゲーションバーが透明にならず、透明でないと背景画像が見えません。 – Lacrifilm

0

このようなものを試してみてください。

func setWhiteStatusBarColor() { 
    self.navigationController?.navigationBar.barStyle = UIBarStyle.Black 
    self.setNeedsStatusBarAppearanceUpdate() 
} 

func setBlackStatusBlackColor() { 
    self.navigationController?.navigationBar.barStyle = UIBarStyle.Default 
    self.setNeedsStatusBarAppearanceUpdate() 
} 

この関数は、UIViewControllerクラスで呼び出すことができます。

が、それはあなた

0

func positionForBar(bar: UIBarPositioning) -> UIBarPosition { 
    return UIBarPosition.TopAttached 
} 

あなたのビューコントローラにこの機能を追加助けるホープこれは、ステータスバーにナビゲーションバーを取り付けて、ステータスバーには、ナビゲーションバーの不透明度プロパティを継承します。

関連する問題